7

请看在上帝的份上,我怎样才能让 Emacs 停止自动填充?我使用visual-line-mode,我不想自动填充。我可以关闭它,M-x auto-fill-mode RET但在 Noweb 模式下,当我进入代码块并再次退出时,它会重新打开。拜托,我只想全局打开自动填充模式,这让我发疯。

我试过了

(auto-fill-mode 0)

还有一堆疯狂的东西,比如

(add-hook 'Rnw-mode-hook '(lambda () (auto-fill-mode 0)))
(add-hook 'latex-mode-hook '(lambda () (auto-fill-mode 0)))

但似乎没有任何效果。请帮我。

4

3 回答 3

6

您应该检查是否可以删除一些以禁用自动填充,而不是向您的系统添加更多钩子。

如果你看到noweb-mode 的源代码,在第 211 行你会发现这个块:

(add-hook 'noweb-select-doc-mode-hook 'noweb-auto-fill-doc-mode)
(add-hook 'noweb-select-code-mode-hook 'noweb-auto-fill-code-mode)

要禁用自动填充,请在您的 dotmacs 中添加以下一到两行(取决于您是否要在代码和文档中禁用自动填充)。

(remove-hook 'noweb-select-doc-mode-hook 'noweb-auto-fill-doc-mode)
(remove-hook 'noweb-select-code-mode-hook 'noweb-auto-fill-code-mode)
于 2009-10-15T10:39:35.197 回答
4

好的,我想出了一个技巧:

(setq auto-fill-mode -1)
(setq-default fill-column 99999)
(setq fill-column 99999)

如果我不能关闭自动填充模式,至少我可以通过将其设置为仅填充第 99999 列来使其无害。如果我输入的段落超过 99999 个字符,我会很生气,但如果发生这种情况我会有更大的事情要担心...

于 2009-10-14T16:26:30.293 回答
3

如果您查看simple.el,则在最顶部text-mode-hook定义了,它最终负责打开这个可憎的东西(或者至少,它对我来说是)。

要访问 simple.el 并寻找自己:(Ch f, auto-fill-mode,单击/关注 simple.el 链接)

要禁用, Mx customize-variable text-mode-hook

截屏

取消选中开启自动填充。请务必单击顶部的“保存以备将来使用”。

于 2012-09-13T23:27:54.380 回答