假设我在.emacs文件中有以下行。
(setq-default default-directory "~/Desktop/mag")
如何在elisp中检查`default-directory'的值?
我问了这个问题,因为我需要根据this question检查default-directory的值。
当我点击C-x C-f时,elisp代码应该更改默认目录,但我仍然得到〜/,而不是〜/ Desktop / mag。所以,我需要检查default-directory有什么值。
答案 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)