假设我在 .emacs 文件中有以下一行内容。
(setq-default default-directory "~/Desktop/mag")
如何在elisp中检查`default-directory`的值?
补充
我提出这个问题是因为我需要根据这个问题检查default-directory的值。
当我点击C-x C-f时,elisp代码应该更改默认目录,但我仍然得到~ /,而不是~/Desktop/mag。因此,我需要检查default-directory的值。
如果你在控制台上,可以输入C-h v,这将提示你输入变量名。键入default-directory(或任何其他名称),你将获得一个包含有关该变量的一些信息的缓冲区,包括它的值。
你正在运行的elisp函数是describe-variable:
(describe-variable VARIABLE)
我通过 C-h k C-h v 找到了答案。C-h k 可以显示下一个按键或按键序列调用的函数。
如果你只是想检查值,可以在 *scratch* 缓冲区中运行以下命令:
(print default-directory) <ctrl-j>
*scratch* 缓冲区允许你即时执行 lisp 代码。你必须按下 ctrl-j 键才能执行。
正如之前所述,C-h v
是查找变量值最简单的方法。为了使它更好用,将光标放在您想了解的变量上,然后运行 C-h v
,它会默认显示光标下的单词。非常方便。
尝试:
(print default-directory)
将上述代码写在emacs中的一行内,在该行末尾按下C-x C-e
(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)
default-directory
”不是您想要的答案,那么它不能满足您的需求是什么呢? - zwol