2009-10-14 50 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

取消選中開啓自動填充。一定要點擊頂部的「保存以備未來會話」。