在Emacs中定义全球化次要模式的参数是什么
我希望在Emacs启动时启用非全局次要模式。我发现它可以通过以下代码完成:在Emacs中定义全球化次要模式的参数是什么,emacs,elisp,Emacs,Elisp,我希望在Emacs启动时启用非全局次要模式。我发现它可以通过以下代码完成: (define-globalized-minor-mode my-global-mode the-mode (lambda () (the-mode t)) ) (my-global-mode t) 但我不明白。定义全球化次要模式的最后两个参数是什么模式和λ。更确切地说,为什么我需要两者,不是重言式吗?全球化次要模式是从现有(非全局)次要模式创建的全局次要模式。没别的了 定义全球化次要模式的第一个参数是
(define-globalized-minor-mode my-global-mode
the-mode
(lambda ()
(the-mode t))
)
(my-global-mode t)
但我不明白。
定义全球化次要模式的最后两个参数是什么<代码>模式
和λ
。更确切地说,为什么我需要两者,不是重言式吗?全球化次要模式是从现有(非全局)次要模式创建的全局次要模式。没别的了
定义全球化次要模式的第一个参数是要创建的全局次要模式的名称(符号)。第二个参数是要用于创建全局模式的现有(非全局)次要模式函数(符号)
第三个参数是打开次要模式的函数。次要模式功能通常是切换命令。在没有参数的情况下调用它不会打开模式
一些次要模式有一个定义(命名)的单独命令来打开它们。例如,打开可视线路模式
是一个独立于可视线路模式
的命令。它相当于(lambda()可视线路模式1))
。因此,您可以将符号打开可视线模式
或等效的lambda形式作为第三个参数传递
这就是它的全部内容。如果有命令
视觉行模式1
无法工作的模式,那么它确实有意义。我以为这对任何人都管用。不,这不是重点。参数开启
不是可选的,因为需要一个不需要参数并开启模式的函数。模式函数本身需要一个参数来打开模式。例如,想象一下在普通钩子上调用的开启
函数,这不是架构中的一个缺陷吗?有没有可能把这个包起来?这样我就可以调用(全球化模式)
,而不是这个庞大而重复的代码。如果您这样认为,请尝试将您的建议传递给它的设计者和开发者:M-x report emacs bug
。