我有一个 Emacs 扩展,它创建一个名为*erl-output*
。该缓冲区仅由以下内容创建fundamental-mode
默认情况下。有什么办法可以自动启用compilation-minor-mode
在那个缓冲区上?
要自动更改主要模式,您可以将以下内容添加到 .emacs 文件中:
(add-to-list 'auto-mode-alist '("^\\*erl-output\\*$" . my-major-mode))
这对你不起作用;这是为了major模式选择,然后你就可以了minor模式选择。
相反,你可以尝试Hook http://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html。手册说:
钩子是一个 Lisp 变量,它保存一个函数列表,在某些明确定义的场合调用。
因此,您应该能够编写一个在需要时设置次要模式的函数。看着标准挂钩列表 http://www.gnu.org/software/emacs/manual/html_node/elisp/Standard-Hooks.html我认为你应该尝试temp-buffer-setup-hook or temp-buffer-show-hook http://www.gnu.org/software/emacs/manual/html_node/elisp/Temporary-Displays.html#Temporary-Displays.
您必须编写一个函数来检查缓冲区名称并根据需要设置模式,然后使用类似以下内容的内容将其添加到挂钩中.emacs
:
(add-hook 'temp-buffer-setup-hook 'my-func-to-set-mode)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)