【发布时间】:2015-01-28 19:09:22
【问题描述】:
我正在尝试将 Emacs 配置为在编辑 XML 文档时不激活自动填充。
在我的.emacs 文件中,我添加了一个钩子,以便文本模式默认启用自动填充:
(add-hook 'text-mode-hook 'turn-on-auto-fill)
我在加载路径中添加了一个目录:
(add-to-list 'load-path "~/.emacs.d/lisp/")
在那个目录中,我为这个工作站写了一个文件xml.el,我尝试了下面的每一个,但都没有成功:
(add-hook 'xml-mode-hook 'turn-off-auto-fill)
(add-hook 'xml-mode-hook 'auto-fill-mode)
(remove-hook 'xml-mode-hook 'turn-on-auto-fill)
(remove-hook 'xml-mode-hook 'auto-fill-mode)
如何在 XML 模式下禁用自动填充?
编辑:这似乎是由我上面提到的text-mode-hook 引起的。如何在nxml-mode 中覆盖这个钩子?
【问题讨论】:
-
“我写了一个文件
xml.el”是什么意思?您是否编写了自己的主要模式来编辑 XML?它实际上有xml-mode-hook吗?通常我希望看到nxml-mode用于编辑XML 文件,它有自己的nxml-mode-hook。 -
不,
xml.el在~/.emacs.d/lisp中。 -
将我的钩子调用更改为使用
nxml-mode-hook也不起作用。 -
好吧,只有当你同时调用
nxml-mode时它才会起作用。 -
xml.el是标准 Emacs 库的名称。你不应该在你的load-path下放置一个冲突的文件名,因为它可能会影响标准库,破坏任何依赖它的东西。我建议对所有自定义 elisp 库使用不冲突的前缀。例如,我使用my-作为前缀(用于文件名和函数名)。
标签: emacs elisp hook mode dot-emacs