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

标签 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-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/

相关文章:

emacs - 如何记录使用 Emacs Org 模式的时间?

emacs - elisp 代码破坏了缓冲区,而不是保存在其他地方......为什么?

html - 是否有任何 emacs 包可以在更改 html 文件时自动刷新浏览器?

python - 使用自动完成、python 模式和绳索设置 emacs

Emacs - 如何提取列表的所有元素

emacs - Emacs Lisp 中函数名的内部是什么意思?

Emacs lisp - 如何尝试/捕获处理错误?

emacs - 使 Emacs/Slime/Quicklisp/SBCL 在 Windows 中工作

emacs - 我如何应用新的 Emacs C 样式来重新格式化我的所有源文件?

Emacs 和存储库之间的跳转