1
在Emacs中,当我启动idlwave
主要模式时,如何停止auto-fill
次要模式的加载?Emacs:在idlwave主要模式下禁用自动填充次要模式
到目前为止,我一直没有弄清楚如何做到这一点。我试图使用remove-hook
来获得idl-mode-hook
和text-mode-hook
,但都没有成功。
在Emacs中,当我启动idlwave
主要模式时,如何停止auto-fill
次要模式的加载?Emacs:在idlwave主要模式下禁用自动填充次要模式
到目前为止,我一直没有弄清楚如何做到这一点。我试图使用remove-hook
来获得idl-mode-hook
和text-mode-hook
,但都没有成功。
您可能已启用auto-fill-mode
作为全局副模式,因此默认情况下它在所有缓冲区中都处于打开状态。如果是这样的话,任务不是而是在idlwave-mode
而不是关掉。
大多数主要模式提供了一个特殊的挂钩变量:它是一个包含函数的列表,每当调用主模式时都会调用这些函数。例如,下面的行,你可以确保auto-fill-mode
将得到每一个缓冲区,然后时间拐入idlwave-mode
:
(add-hook 'idlwave-mode-hook (lambda() (auto-fill-mode 0)))
把上面一行在你的init文件(如~/.emacs
或~/.emacs.d/init.el
)和auto-fill-mode
应在重新启动Emacs后,在idlwave模式下关闭。
谢谢!一旦我删除了lambda expressien中不必要的参数,这对我有用。我以前曾尝试使用:'(add-hook'idlwave-mode-hook(lambda()(auto-fill-mode nil)))',它接近但不完全正确。 – amicitas
是的,lambda参数是我的一个疏忽。毕竟,它很适合你。 – Thomas