textwidth = 0 e wrapwidth = 0 in .vimrc.local non rispettati


11

Ho le seguenti righe nella parte inferiore del mio .vimrc.local:

set textwidth=0 
set wrapmargin=0

Tuttavia, ogni volta che apro un nuovo file, entrambi questi valori vengono impostati sui valori predefiniti (rispettivamente 72 e 2) e non sulle mie impostazioni personalizzate. Le altre impostazioni nel mio file .vimrc.local sembrano essere impostate (schede, ecc.) Ma solo queste due continuano a essere ripristinate. Se inserisco :source ~/.vimrc.localle impostazioni, cambio e funziona correttamente.

C'è un modo per vedere cosa sta impostando qualcosa quando vim si avvia? Sospetto che alcuni plugin o impostazioni forniti con MacVim o Janus stiano impostando queste opzioni, ma non so come guardare tutte le impostazioni contemporaneamente.


Non avevo mai visto ~/.vimrc.localprima La versione di Janus che ho trovato la fonte (se esiste) alla fine del suo vimrcfile (che è la destinazione del ~/.vimrccollegamento simbolico che installa, se usi il suo metodo di installazione). Forse non tutte le versioni di Janus lo fanno - molte persone sembrano fondere quella che ho trovato nelle loro forcelle, ma non ho idea se questa sia o meno quella "ufficiale". Solo per chiarire, dove hai preso il tuo Janus? Se è basato su Git, quale commit stai usando?
Chris Johnsen,

Vale la pena leggere questo defaul formatoptions
anishjp il

Risposte:


13

Per scoprire dove sono stati impostati 'textwidth' e 'wrapmargin', eseguire

:verbose set tw? wm?

Per vedere quali file sono stati forniti, esegui

:scriptnames

Se quelli non sono sufficienti per trovare il problema, è possibile utilizzare l'opzione -V all'avvio di Vim e registrare i vari eventi di avvio in un file. Vedere

:help -V

Inoltre, i valori predefiniti per 'textwidth' e 'wrapmargin' sono entrambi 0, non 72 e 2, quindi già qualcosa li sta impostando su valori non predefiniti. Per i valori predefiniti, vedere

:help 'textwidth'
:help 'wrapmargin'

PS
Qualcos'altro da verificare è la possibilità che un plug-in di tipo di file stia effettuando tali impostazioni. Il :verbose set ...comando dovrebbe mostrare dove vengono effettuate tali impostazioni, ma è anche possibile eseguire

:set filetype?

per vedere il tipo di file corrente, quindi aprire $VIMRUNTIME/ftplugin/<filetype>.vim, dove <filetype> è il valore dell'opzione 'filetype' che si trova sopra, per vedere se tali impostazioni sono state fatte lì. Puoi sovrascrivere le impostazioni effettuate da un plug-in di tipo di file inserendo le tue impostazioni in un file creato, chiamato ~ / .vim / after / ftplugin / <filetype> .vim. Vedere

:help filetype-overrule

articolo n. 3.


Si scopre che il problema era in ~/.vimrcsospeso, che proveniva da Janus. Mi aspettavo source ~/.vimrc.localche fosse l'ultima cosa eseguita, ma stava impostando quei due con il aucomando. Sembra che le ambientazioni ~/.vimrccontengano molte scelte stilistiche delle persone che mantengono Janus. Grazie per aver scritto una risposta che mi aiuterà a risolvere questi problemi per me stesso in futuro. :)
Ian Potter,

1
Sono venuto anche qui a causa di questo problema in Janus. Ma nota, nell'ultimo Janus ~/.vimrc.afterviene eseguito per ultimo, tuttavia, ad esempio, si stava verificando un'azione specifica per Python, quindi ho dovuto usare au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=0piuttosto che semplicemente set textwidth=0in quel file.
philfreo,

8

Ho risolto questo aggiungendo quanto segue al mio file .vimrc.local :

" Disable annoying auto line break
fu! DisableBr()
    set wrap
    set linebreak
    set nolist  " list disables linebreak
    set textwidth=0
    set wrapmargin=0
    set fo-=t
endfu

" Disable line breaks for all file types
:au BufNewFile,BufRead *.* call DisableBr()

Ciò dovrebbe disabilitare le interruzioni di riga automatiche indesiderate per tutti i tipi di file


1
Funziona in .vimrc.after quando si utilizza Janus
Eric Yang

1
Huzzah, grazie! Questa è stata l'unica cosa che ha funzionato per me. Per qualche motivo (non riuscivo a capire) macvim stava scavalcando la larghezza del testo nel mio vimrc per i file .txt.
Matt brucia il

0

Questo dovrebbe aiutare:

(Forse BufAdded BufCreateè ridondante, ma l'ho aggiunto per ogni evenienza)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.