如何在emacs中查找CL函数定义
有没有办法从emacs中查看公共lisp函数及其文档的参数?或者查看所有可用功能的列表 差不多。手册GNU Emacs Common Lisp Emulation(GNU Emacs通用Lisp仿真)随GNU Emacs一起提供,它位于主(如何在emacs中查找CL函数定义,emacs,lisp,common-lisp,Emacs,Lisp,Common Lisp,有没有办法从emacs中查看公共lisp函数及其文档的参数?或者查看所有可用功能的列表 差不多。手册GNU Emacs Common Lisp Emulation(GNU Emacs通用Lisp仿真)随GNU Emacs一起提供,它位于主(dir-level)信息菜单中的CL。参考功能索引以获取记录的功能列表。但是文档有点不完整,它只记录了Emacs实现,这有时与常见的Lisp规范不同 有关该语言的精确信息,请参阅公共Lisp文档 您可以使用文档获取函数的文档。(以下示例用于获取有关函数列
dir
-level)信息菜单中的CL
。参考功能索引以获取记录的功能列表。但是文档有点不完整,它只记录了Emacs实现,这有时与常见的Lisp规范不同
有关该语言的精确信息,请参阅公共Lisp文档
文档
获取函数的文档。(以下示例用于获取有关函数列表的信息
)
要获取参数列表,通常在某些包中有一个依赖于实现的函数arglist
。您可以使用(apropos'arglist)
搜索此函数。这将为您提供名称包含arglist
的所有内部符号的列表
(documentation 'list 'function)
"Returns constructs and returns a list of its arguments."
例如,在CMUCL中它是(swank backend::arglist'list)
,在CLISP中它只是(arglist'list)
,等等
注意:如果您使用,您应该看到下面的可用参数。下面的所有内容都来自
问题2。从Emacs中查看HyperSpec
Q2我喜欢在Emacs中访问HyperSpec,但为什么它必须使用外部浏览器?为什么?
我不能在Emacs中看到HyperSpec吗
A2如果使用Emacs附加包W3(或提供类似功能的W3M),则可以显示HTML页面
在Emacs内部。一旦安装了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)))))
请注意,上面代码中的“let”仅针对HyperSpec将browse url browser函数设置为W3。你可以
可以全局设置变量(如果希望始终使用W3或其他特定浏览器),也可以本地设置变量(如果需要)
要使用特定浏览器而不是默认浏览器)。SLIME自动加载
eldoc模式
-这是在迷你缓冲区中显示函数参数的模式。如果您指的是Emacs Lisp的cl
库,则可以使用M-xeldoc模式加载它
另一个有用的SLIME特性是C-C-d C-d-这将弹出一个新的缓冲区,其中包含有关该函数的文档
这些也非常有用:
- C-C C-w C-a
slime谁是专家
- C-C-C-w C-b
粘液谁绑定
- C-C-C-w C-C
slime谁打电话
- C-C C-w RET
slime who macroexpansion
- C-C-C-w C-r
slime谁参考
- C-C-C-w C-s
slime谁设置
- C-C-C-w C-w
slime给谁打电话
- C-C C-w a
slime谁是专家
- C-C C-w b
粘液谁绑定
- C-C C-w C
slime谁打电话
- C-C C-w m
slime who macroexpansion
- C-C C-w r
slime谁参考
- C-C C-w s
slime谁设置
- C-C C-w w
slime给谁打电话
从他们的名字可以明显看出他们在做什么
另外,SLIME还有一个自动完成
插件,它可以在下拉菜单中显示文档和函数参数(嗯,有点像),在视觉上类似于VisualStudio或Eclipse。我想它叫ac slime
,可以通过ELPA安装。我如何使用(documentation
,例如查找格式的documentation
?您可以这样使用:(文档'格式'功能)
。大多数实现在某些地方也有ARGLIST函数。我所说的CL是指Common Lisp,而不是任何elisp东西。您提到的这些主要是为了elisp吗?@OpenLearner否,只有与eldoc模式相关的部分,其余部分是SLIME绑定。如果您安装了SLIME,您可以找到所有这些(以及更多)通过执行C-h m
(或m-x描述模式
)或C-h b
(m-x描述键绑定
)。