最佳答案
我有一个关于 Emacs Lisp 的问题。 Setq和 Setq-default的区别是什么?
教程说 Setq在 本地缓冲区本地缓冲区中起作用,而 Setq-default影响所有的缓冲区。
例如,如果我在 进去 El中编写了 (setq a-var a-vars-value),我发现在启动 Emacs 并打开一个新的缓冲区之后,A-Var也在那里,它的值是 A-vars-value。我以为它不应该在那里。Setq和 Setq-default之间似乎没有什么区别。
我的理解有什么问题吗?
例如:
我在 进去 El文件中编写了 (setq hello 123),然后在 shell 中运行 Emacs 缓冲器,然后输入 “你好 C-x C-e”,它显示“123”。在所有新的缓冲区中运行这个命令时也会发生同样的情况。
我在 进去 El文件中编写了 (setq tab-width 4)。当我运行 标签宽度 C-x C-e时,它显示“8”(当前模式为“ Text”)。但是,当我使用 (setq-default tab-width 4)时,它显示“4”。我无法解释这种现象。