2009-10-14 12 views
7

Ti prego, per amore di dio, come posso fare in modo che Emacs non si auto-riempia? Io uso visual-line-mode, non voglio il riempimento automatico. Posso spegnerlo con M-x auto-fill-mode RET ma in modalità Noweb si riattiva quando mi sposto in un blocco di codice e di nuovo fuori. Per favore, voglio solo girare a livello globale la modalità di riempimento automatico, mi sta facendo impazzire.Disabilita la modalità di riempimento automatico in modalità noweb

Ho provato

(auto-fill-mode 0) 

e un sacco di cose folli come

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

Ma nulla sembra funzionare. Mi aiuti per favore.

risposta

4

OK, ho ideato un hack che fa il trucco:

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

Se non riesco a disattivare la modalità auto-fill, almeno posso renderlo innocuo impostandolo a riempire solo nella colonna 99999. Sarò infastidito se scrivo un paragrafo con più di 99999 caratteri, ma se ciò accade avrò più cose di cui preoccuparmi ...

6

Invece di aggiungere ulteriori hook al tuo sistema, dovresti controllare se potessi rimuovere alcuni per disabilitare il riempimento automatico.

Se vedete noweb-mode's source code, attorno alla riga 211 si trova questo pezzo:

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

Per disattivare il riempimento automatico, inserire il seguente una o due righe nel tuo dotemacs (a seconda se si desidera disattivare l'auto-fill sia nel codice che nella documentazione).

(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

Se si guarda al simple.el, in cima text-mode-hook è definito, che è il responsabile ultimo per accendere questo abominio (o almeno, è stato per me).

Per raggiungere simple.el e guardare per credere: (Ch f, auto-fill-mode, clicca/clicca simple.el)

Per disabilitare, Mx personalizzare variabile text-mode-hook

Screen shot

Deselezionare la funzione di riempimento automatico. Assicurati di fare clic su "Salva per sessioni future" in alto.

Problemi correlati