我希望在 Emacs 启动时启用非全局次要模式。我发现它可以用该代码完成:
(define-globalized-minor-mode my-global-mode
the-mode
(lambda ()
(the-mode t))
)
(my-global-mode t)
但我不明白。
define-globalized-minor-mode
的最后两个参数有什么作用?做? the-mode
和一个 lambda
.更准确地说,为什么我需要两者,不是同义反复吗?
最佳答案
全局化次要模式是从现有(非全局)次要模式创建的全局次要模式。而已。
第一个参数到 define-globalized-minor-mode
是您要创建的全局次要模式的名称(符号)。第二个 arg 是现有的(非全局)次要模式函数(一个符号),你想用它来创建全局函数。
第三个参数是打开次要模式的函数。次要模式功能通常是一个切换命令。不带参数调用它不会打开模式。
并且一些次要模式有一个定义的(命名的)单独命令来打开它们。例如,turn-on-visual-line-mode
是来自 visual-line-mode
的单独命令.相当于 (lambda () visual-line-mode 1))
.因此,您可以将符号 turn-on-visual-line-mode
作为第三个参数传递。或等效的 lambda 形式。
这就是它的全部内容。
关于emacs - Emacs 中define-globalized-minor-mode 的参数是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21502455/