在elisp中打印emacs的符号

Tal*_*Kit 5 emacs elisp

如何使用elisp打印emacs中的所有符号.

可以使用symbolp函数测试lisp对象是否为符号.但如何收集所有符号.

是否可以访问emacs的符号表?

Boz*_*sov 6

这是一种方法:

(require 'cl)

(loop for x being the symbols
    if (boundp x)
    collect (symbol-name x))
Run Code Online (Sandbox Code Playgroud)

loop是一个Common Lisp宏,也被移植到Emacs Lisp.它是cl软件包的一部分(标准Emacs发行版的一部分),您必须require使用它.

另一个需要考虑的选择可能是:

(apropos "." t)
Run Code Online (Sandbox Code Playgroud)

aproposinvokation将采取显著更多的时间来完成,但你会得到关于符号这样的详细信息.