2009-10-14 26 views
7

请为上帝的爱我如何让Emacs停止自动填充?我使用visual-line-mode,我不想自动填充。我可以用M-x auto-fill-mode RET将其关闭,但是在Noweb模式下,当我移入代码块并再次退出时,它会重新开启。请,我只想在全球范围内自动填充模式,这让我疯狂。在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

OK,我摸索出了黑客工具,做的伎俩:

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

如果我不能关闭自动填充模式,至少我可以把它无害通过将其设定只能在栏填入99999.如果我输入的段落超过99999个字符,我会很恼火,但是如果发生这种情况,我会有更大的担心...

6

而不是在系统中添加更多挂钩,您应该检查如果你可以删除一些禁用自动填充。

如果你看到noweb-mode's source code,围绕行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) 

要禁用自动灌装,把下面的一行或两行中的dotemacs(取决于你是否要禁用自动填充在代码和文档中)。

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

如果你看一下simple.el,在最高层text-mode-hook定义,它最终是为了打开这个可憎的责任(或者至少,这对我来说)。

要到simple.el,寻找自己:(CH楼auto-fill-mode,单击/遵循simple.el链接)

要禁用,定制的Mx可变文本模式挂钩

Screen shot

取消选中开启自动填充。一定要点击顶部的“保存以备未来会话”。