Emacs中define-globalized-minor-mode的参数是什么

时间:2014-02-01 19:24:28

标签: emacs elisp

我希望在Emacs启动时启用非全局次要模式。我发现可以使用该代码完成:

(define-globalized-minor-mode my-global-mode
  the-mode
  (lambda ()
    (the-mode t))
)
(my-global-mode t)

但我不明白。 define-globalized-minor-mode的最后两个论点是做什么的? the-modelambda。更确切地说,为什么我需要两者,是不是重言式?

1 个答案:

答案 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形式。

这就是它的全部内容。