请为了上帝的爱,我怎么能让Emacs停止自动填充?我用visual-line-mode,我不想自动填充.我可以将其关闭,M-x auto-fill-mode RET但在Noweb模式下,当我进入代码块并再次退出时,它会重新打开.拜托,我只想全球转向自动填充模式,这让我发疯了.
我试过了
(auto-fill-mode 0)
Run Code Online (Sandbox Code Playgroud)
和一堆疯狂的事情一样
(add-hook 'Rnw-mode-hook '(lambda () (auto-fill-mode 0)))
(add-hook 'latex-mode-hook '(lambda () (auto-fill-mode 0)))
Run Code Online (Sandbox Code Playgroud)
但似乎没有任何效果.请帮我.
您应该检查是否可以删除一些以禁用自动填充,而不是向系统添加更多挂钩.
如果您看到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)
Run Code Online (Sandbox Code Playgroud)
要禁用自动填充,请在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)
Run Code Online (Sandbox Code Playgroud)
好的,我想出了一个可以解决问题的技巧:
(setq auto-fill-mode -1)
(setq-default fill-column 99999)
(setq fill-column 99999)
Run Code Online (Sandbox Code Playgroud)
如果我无法关闭自动填充模式,至少我可以通过将其设置为仅填充第 99999 列来使其无害。如果我键入超过 99999 个字符的段落,我会很恼火,但如果发生这种情况我会有更大的事情要担心...