我正在阅读一篇关于格式良好的Git提交的文章,我想知道如何将一些规则应用于Magit日志模式.
这似乎同时使用3种主要模式:Magit,Log,Edit.
那么,当我们一起使用时,如何自动将这些模式硬包装为72个字符?
在回答原始陈述的问题时,如果你有一个函数要添加到众多钩子变量,你可以这样做:
(defun my-add-to-multiple-hooks (function hooks)
(mapc (lambda (hook)
(add-hook hook function))
hooks))
(defun my-turn-on-auto-fill ()
(setq fill-column 72)
(turn-on-auto-fill))
(my-add-to-multiple-hooks
'my-turn-on-auto-fill
'(text-mode-hook
magit-log-edit-mode-hook
change-log-mode-hook))
Run Code Online (Sandbox Code Playgroud)
也许不是最好的例子,但是我想在编程模式中启用一些常见的行为,其中有很多要列出的内容.
Emacs 模式具有“基本模式”,即 bade 模式。例如python-modeextends prog-mode,它本身 extends fundamental-mode。所有模式扩展fundamental-mode。所以钩python-mode加c-mode而不是text-mode,你可以钩prog-mode。
Emacs 缓冲区中只能有一种主要模式(除非您使用MMM 或 MuMaMo 之类的东西)。在您的情况下,一种主要模式是magit-log-edit-mode,其名称由三个单词组成(“Magit Log Edit”)。你可以添加任何你喜欢的钩子:
(defun my-turn-on-auto-fill ()
(setq fill-column 72)
(turn-on-auto-fill))
(add-hook 'magit-log-edit-mode-hook 'my-turn-on-auto-fill)
Run Code Online (Sandbox Code Playgroud)