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

时间:2010-07-29 21:09:26

标签: emacs elisp

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

(setq-default default-directory "~/Desktop/mag")

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

我问了这个问题,因为我需要根据this question检查default-directory的值。

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

5 个答案:

答案 0 :(得分:17)

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

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

(describe-variable VARIABLE)

我用C-h k C-h v来计算出来.C-h k显示下一个键或键序列将调用什么函数。

答案 1 :(得分:12)

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

(print default-directory) <ctrl-j>

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

答案 2 :(得分:6)

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

答案 3 :(得分:1)

尝试:

(print default-directory)

将上述代码写在emacs内的一行中,到达行尾并点击C-x C-e

答案 4 :(得分:1)

如果您只想查看回声中的变量值 区域(少一团糟),尝试:

(defun describe-variable-short (var)
  (interactive "vVariable: ")
  (message (format "%s: %s" (symbol-name var) (symbol-value var))) )
(global-set-key "\C-hV" 'describe-variable-short)