4.1 查找更多信息

在这个步骤中,我将在遇到新函数时逐一描述它,有时详细介绍,有时简要说明。如果你感兴趣,你可以随时通过输入C-h f,然后输入函数的名称(然后按RET)获取任何Emacs Lisp函数的完整文档。类似地,你可以通过输入C-h v,然后输入变量的名称(然后按RET)获取变量的完整文档。

此外,describe-function还会告诉你函数定义的位置。

将光标放在包含函数的文件名上,然后按RET键。在这种情况下,RET意味着push-button,而不是“return”或“enter”。Emacs将直接跳转到函数定义处。

更一般地说,如果你想在原始源文件中查看函数,你可以使用xref-find-definitions函数跳转到它。xref-find-definitions适用于各种语言,不仅限于Lisp和C,它还适用于非编程文本。例如,xref-find-definitions将跳转到本文档的Texinfo源文件的各个节点(前提是你已经运行etags实用程序记录了Emacs附带手册中的所有节点;see Create Tags Table in The GNU Emacs Manual)。

要使用xref-find-definitions命令,输入M-.(即,按住META键的同时按下句点键,或者按ESC键,然后输入句点键),然后在提示符处输入你想要查看源代码的函数的名称,比如mark-whole-buffer,然后输入RET。 (如果命令没有提示,带一个参数调用它:C-u M-.;see interactive 的不同选项。)Emacs将切换缓冲区并在屏幕上显示函数的源代码10。要切换回当前缓冲区,输入M-,C-x b RET。(在某些键盘上,META键标记为ALT。)

顺便说一下,包含Lisp代码的文件通常被称为。这个比喻来源于专业图书馆的概念,比如法律图书馆或工程图书馆,而不是普通图书馆。每个库或文件都包含与特定主题或活动相关的函数,比如处理缩写和其他输入快捷方式的abbrev.el,以及用于帮助的help.el。(有时,多个库提供单个活动的代码,就像各种rmail…文件提供阅读电子邮件的代码一样。)在The GNU Emacs Manual中,你会看到类似“C-h p命令允许你按主题关键字搜索标准的Emacs Lisp库。”的句子。


Footnotes

(10)

如果Emacs不是显示Lisp函数的源代码,而是询问你要访问哪个标签表,请在其主要模式为Emacs Lisp或Lisp Interaction的缓冲区中调用M-.