有沒有辦法從emacs中查看通用lisp函數及其文檔的參數?還可以查看所有可用功能的列表?如何在emacs中查找CL函數定義
回答
SLIME自動加載eldoc-mode
- 這是在小緩衝區中顯示函數參數的模式。如果您的意思是cl
Emacs Lisp庫,則可以使用M-xeldoc-mode
加載它。
另一個有用的SLIME功能是C-C C-d C-d - 這會彈出一個新的緩衝區並提供關於該功能的文檔。
這些是非常有用的太:
- C-C C-W C-一個
slime-who-specializes
- C-C C-W C-B
slime-who-binds
- C-C C-W C-C
slime-who-calls
- C-C C-W RET
slime-who-macroexpands
- C-C C-W C-R
slime-who-references
- C-C C-W C-S
slime-who-sets
- C-C C-W C-W
slime-calls-who
- C-C C-W A
slime-who-specializes
- C-C C-W B
slime-who-binds
- C-C C-W C
slime-who-calls
- C-C C-W米
slime-who-macroexpands
- C-C C-W R
slime-who-references
- C-C C-W小號
slime-who-sets
- C-C C-W W
slime-calls-who
它們應該很明顯地表明它們的名字。
附加地,SLIME插件有一個auto-complete
插件,它可以在下拉菜單中顯示文檔和函數參數(類似於Visual Studio或Eclipse)。我認爲它叫做ac-slime
,可以通過ELPA進行安裝。
的排序。手冊GNU Emacs Common Lisp Emulation
附帶GNU Emacs - 在主(dir
級別)信息菜單中爲CL
。請查閱功能索引以獲取記錄功能列表。但是文檔有些不完整,並且僅記錄了Emacs實現,這有時不同於Common Lisp規範。
請參閱Common Lisp文檔以獲取關於該語言的精確信息。
你可以用documentation
得到一個函數的文檔。 (以下爲獲取有關功能list
信息的例子。)
(documentation 'list 'function)
"Returns constructs and returns a list of its arguments."
要獲取參數列表中,通常依賴於實現的功能arglist
在一些包。您可以使用(apropos 'arglist)
搜索此功能。這會給你一個名稱包含arglist
的所有實名符號的列表。
例如在CMUCL它是(swank-backend::arglist 'list)
,在CLISP它只是(arglist 'list)
等
N.B.如果您使用SLIME,則無論如何您都應該看到可用的參數。下面
如何使用'(文檔)'來查找'格式'文件? – johnbakers
您可以像這樣使用它:'(documentation'format'function)' –
大多數實現在某處也有一個ARGLIST函數 –
一切都是從http://cl-cookbook.sourceforge.net/emacs-ide.html
Q2。從Emacs中查看HyperSpec
Q2我喜歡在Emacs中訪問HyperSpec,但爲什麼它需要使用外部瀏覽器?爲什麼 無法在Emacs中看到HyperSpec?
A2如果您使用Emacs附加軟件包W3(或提供類似功能的W3M),則可以在Emacs中顯示HTML頁面 。一旦你有了W3和HyperSpec均已安裝,使用類似於以下代碼從Shift-F1組合鍵訪問 HyperSpec:
(global-set-key [(shift f1)]
'(lambda()
(interactive)
(let ((browse-url-browser-function
'browse-url-w3)
(common-lisp-hyperspec-root
"file://c:/home/docs/Hyperspec/")
(common-lisp-hyperspec-symbol-table
(concat common-lisp-hyperspec-root
"Data/Map_Sym.txt"))
(hyperspec-prog
"c:/home/site/ilisp/extra/hyperspec"))
(load-library hyperspec-prog)
(common-lisp-hyperspec
(thing-at-point 'symbol)))))
注意的是,「讓」,在上面的代碼中設置了瀏覽的網址瀏覽器功能W3的只是HyperSpec。您可以在全局(如果您想始終使用W3或其他特定瀏覽器)或本地(如果您想使用特定瀏覽器而不是默認瀏覽器)設置變量,您可以設置變量 。
- 1. 如何在.emacs中定義函數?
- 2. 如何查找外部函數定義
- 3. 函數定義應該寫在Allegro CL Free Express Edition 9.0中?
- 4. 如何在用戶定義的函數中調用函數im Emacs?
- 5. 在emacs中,cl-flet和cl-letf有什麼區別?
- 6. Emacs etags - 如何在函數定義之前忽略字符串
- 7. 如何定義一個函數在Emacs上運行多個shell?
- 8. 在Emacs中找不到locate-file函數?
- 9. Emacs - 在函數中使用「全選」(如何查找綁定到某個鍵的函數)
- 10. 如何查找函數定義了多少個參數?
- 11. 如何找到Keras函數的定義?
- 12. emacs:我如何查找帶源代碼的函數?
- 13. 查找缺少的函數定義
- 14. emacs註冊自定義函數
- 15. 如何檢查參數是否在JavaScript中的函數定義中定義?
- 16. 在Emacs Lisp中,如何檢查變量是否被定義?
- 17. 如何在emacs lisp函數中搜索
- 18. 定義在Emacs
- 19. 如何查找Emacs Lisp函數綁定到某個鍵的位置?
- 20. 如何查找從Python命令行定義函數的文件
- 21. 函數定義 - 不知道如何查找
- 22. Eclipse - 如何查找已定義函數的使用位置
- 23. 如何查找定義函數的文件?
- 24. 如何自定義emacs auc-tex函數Tex-command-list?
- 25. 如何在使用Komodo的其他文件中查找函數定義?
- 26. 如何在使用粘液時跳轉到emacs中的函數定義?
- 27. 如何在Oracle 9i中查找預定義代碼的定義?
- 28. 如何在Anjuta中找到變量和函數定義?
- 29. 在MS Access VBA編輯器中查找函數定義
- 30. 在C++中使用調用查找函數定義
通過CL,我的意思是Common Lisp,而不是任何elisp的東西,這些你是否主要提到elisp? – johnbakers
@OpenLearner nope,只有與eldoc-mode有關的部分,其餘的是SLIME綁定,如果你安裝了SLIME,你可以通過'Ch m'(或'Mx describe-mode')或者'Ch b'('Mx describe-keybindings')找到所有這些(和更多)綁定。 – 2013-10-22 08:00:53