我希望在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
。更确切地说,为什么我需要两者,是不是重言式?
答案 0 :(得分:1)
全球化次要模式是从现有(非全局)次要模式创建的全局次要模式。没什么。
define-globalized-minor-mode
的第一个arg是您要创建的全局次要模式的名称(符号)。第二个arg是您要用于创建全局函数的现有(非全局)次模式函数(符号)。
第三个arg是一个可以打开次要模式的功能。次要模式功能通常是切换命令。在没有args的情况下调用它不打开模式。
并且一些次要模式具有已定义(命名)的单独命令以将其打开。例如,turn-on-visual-line-mode
是来自visual-line-mode
的单独命令。它相当于(lambda () visual-line-mode 1))
。所以你可以作为第三个arg传递符号turn-on-visual-line-mode
或等效的lambda形式。
这就是它的全部内容。