如何检查变量是否设置为elisp/emacs中的内容?

pro*_*eek 9 emacs elisp

假设我在.emacs文件中有以下行.

(setq-default default-directory "~/Desktop/mag")
Run Code Online (Sandbox Code Playgroud)

如何在elisp中检查`default-directory'的值?

添加

我问这个问题,因为我需要根据这个问题检查default-directory的值.

当我点击Cx Cf时,elisp代码应该更改默认目录,但我仍然得到〜/,而不是〜/ Desktop/mag.所以,我需要检查default-directory有什么值.

Pau*_*bel 18

如果您在控制台,则可以键入Ch v,这将提示您输入变量名称.键入default-directory(或任何其他名称),您将获得一个缓冲区,其中包含有关该变量的一些信息,包括其值.

您正在运行的elisp函数是describe-variable:

(describe-variable VARIABLE)
Run Code Online (Sandbox Code Playgroud)

我通过Ch k Ch v来解决这个问题.Ch k显示了下一个键或键序列将调用的功能.


Sta*_*key 12

如果您只想检查该值,可以从*scratch*缓冲区运行以下命令:

(print default-directory) <ctrl-j>

*scratch*缓冲区允许您即时评估lisp.你必须在评估之后点击ctrl-j.


mon*_*tux 6

如前所述,C-h v是找出变量值的最简单方法.为了使它更好,将光标放在你想知道的变量上,然后运行C-h v,它将默认为光标下的单词.真的很方便.