我希望rainbow-mode每次启动emacs时启用,而不是必须使用M-x rainbow-mode.
我想我的.emacs文件中有一些命令.
我尝试了以下所有方法,但没有一个有效:
(require 'rainbow-mode)
(rainbow-mode initialize)
(global-rainbow-mode)
Run Code Online (Sandbox Code Playgroud)
更一般地,我怎么在启动时自动加载任何模式/包?
phi*_*ils 42
rainbow-mode 不是全局次要模式,因此需要在每个缓冲区的基础上启用它.
我只用它来做CSS,所以我有:
(add-hook 'css-mode-hook 'my-css-mode-hook)
(defun my-css-mode-hook ()
(rainbow-mode 1))
Run Code Online (Sandbox Code Playgroud)
如果您真的希望它在全球范围内,无处不在,您可以自己轻松定义全局次要模式:
(define-globalized-minor-mode my-global-rainbow-mode rainbow-mode
(lambda () (rainbow-mode 1)))
(my-global-rainbow-mode 1)
Run Code Online (Sandbox Code Playgroud)
您可以向该(lambda () (rainbow-mode 1))函数添加任意逻辑(将在每个缓冲区中进行评估),以决定是否实际调用(rainbow-mode 1)给定的缓冲区,因此如果您对elisp感到满意,那么您可以轻松地扩展此方法以覆盖您对相关模式的具体要求.
更一般地,我怎么在启动时自动加载任何模式/包?
它可能会有所不同,但我所展示的方法对于大多数次要模式都是足够的:要么只要MODE启用它们就要启用它们(是一些特定的其他模式名称),在这种情况下你可以使用MODE-hook变量(它总是可用的)按照css-mode-hook例子; 或者您希望永久启用模式,在这种情况下,全局次模式是一种很好的方法(因为您可以全局打开和关闭它).默认情况下,某些次要模式是全局的(或提供全局变体),但如果需要,您可以根据my-global-rainbow-mode示例创建自己的模式.
另请注意,模式可以从其他模式派生,在这种情况下,将运行所有相关的MODE-hook挂钩(有关详细信息,请参阅/sf/answers/1350676631/).一个常见的用例是用于prog-mode-hook启用从它派生的所有编程模式所需的功能(这是大多数编程模式).
请记住,许多(希望是大多数)库和包将提供使用说明.如果找不到文档,请务必尝试M-x find-library访问库文件,然后阅读顶部的注释.通常有一个非常有用的"评论"部分,有时这是最终用户文档的主要来源,并解释了如何启用其功能.
| 归档时间: |
|
| 查看次数: |
8520 次 |
| 最近记录: |