Come disabilitare completamente il rientro automatico in Emacs? Devo disabilitarlo almeno per la modalità Fondamentale, ma sto bene disabilitato a livello globale per la sessione corrente.
Si prega di leggere il resto di questa domanda prima di dichiararla duplicata. Tutte le altre risposte che ho trovato sono per la disabilitazione molto più mirata dell'indentazione. Voglio davvero disabilitare completamente tutti i rientri automatici per l'intera sessione.
L'impostazione electric-layout-mode
su nil
non funziona.
Dettagli
A volte mi piace comporre messaggi di commit Git di grandi dimensioni con il mio editor di testo ASCII di Windows. Questi messaggi hanno spesso elenchi puntati, blocchi di codice o altre cose in cui la formattazione precisa nel mio documento di origine è significativa. La mia base di codice è su Linux e mi collego al box usando un client SSH di solo testo. Quando Git inserisce Emacs per la modifica del messaggio di commit, voglio essere in grado di copiare il messaggio di commit di origine negli Appunti di Windows, quindi incollarlo usando i comandi Incolla di Windows. Dal punto di vista di Emacs, sto scrivendo ciò che è stato trovato nel file di testo di Windows. Sfortunatamente, quando Emacs vede linee rientrate, aggiunge la propria rientranza automatica, quindi ottengo questo enorme triangolo di spazi bianchi lungo il bordo sinistro del buffer.
Sto usando GNU Emacs 24.3.1.
Soluzione
La mia attuale soluzione è trasferire il mio file di testo di Windows su un filesystem montato dal mio host Linux, caricare il file in Emacs, quindi usare kill e yank per trasferire il contenuto. Questo è un po 'goffo.
Esempio
Ecco un esempio di blocco di testo:
a
- b
c
d
Ecco come appare quando lo incollo in Emacs-under-ssh tramite MSWin paste:
a
- b
c
d
Se premo C-h l
dopo aver fatto la pasta, ecco cosa vedo. Si noti che le newline vengono inserite usando C-j
, non RET
.
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
? Questo in pratica dice "non toccare il testo incollato in alcun modo". Che include anche il rientro automatico.
hack-local-variables-hook
- per annullare sostanzialmente quali altre modalità principali impostate come parte del loro inizializzazione standard.fundamental-mode
è solo una piccola funzione all'internosimple.el
- cioè(kill-all-local-variables) (run-mode-hooks)
.M-x find-function RET fundamental-mode RET
- è possibile modificare / creare il proprio secondo necessità; tuttavia, se si modifica il nome, non verrà utilizzato da alcune funzioni, quindi considerare di mantenere lo stesso nome.