Ho diversi highlightcomandi nel mio .vimrcfile. In Vim 7.3, questi hanno avuto effetto immediatamente dopo l'avvio di Vim. Dopo l'aggiornamento a Vim 7.4, questo non è più il caso. Vim utilizza inizialmente l'evidenziazione predefinita. Quando carico .vimrcuna seconda volta eseguendo source ~/.vimrc, l'evidenziazione funziona come voglio.
Dovresti essere in grado di riprodurre questo problema usando i seguenti passaggi:
Crea una copia del tuo
.vimrcfile.Sostituisci
~/.vimrccon un file che contiene solo la rigahighlight Type ctermfg=28 cterm=bold.Esegui
vim dummy.cin un terminale a 256 colori (ad esempio Terminale GNOME).Digita
intnel buffer. L'intdovrebbe apparire in carattere regolare ed essere di colore verde chiaro, che non è quello che voglio.Enter
:source ~/.vimrc. Oraintdovrebbe apparire in grassetto ed essere colorato in verde scuro.
Secondo l'articolo Come controllare / configurare i colori di VIM , dovrebbe essere giusto inserire i highlightcomandi .vimrc. L'articolo dice che dovresti inserire syntax enablei highlightcomandi, ma questo non ha fatto alcuna differenza.
La mia prima correzione è stata anteporre ogni highlightcomando .vimrccon autocmd VimEnter *. Questo ha funzionato per alcuni tipi di file, ma non per altri (i file C sono un esempio).
Qual è la ragione di questo comportamento? Come posso highlighteseguire i comandi all'avvio di Vim in modo che abbiano effetto per tutti i buffer durante l'intera sessione di Vim?
set compatibleall'inizio di .vimrc, l'evidenziazione della sintassi funziona come previsto. Quindi questo sembra davvero essere questo bug in azione.
highlightcomandi con autocmd ColorScheme *, che è stato proposto come soluzione alternativa nella segnalazione di bug. Non funziona ancora . ☹