Ho avuto un problema simile nell'impostazione dell'evidenziazione della linea del cursore, ma il mio era dovuto al comando mksession che stavo usando per salvare le informazioni sulla sessione durante l'uscita da vim. Questa sessione viene quindi ripristinata automaticamente durante l'avvio del programma, se viene eseguita senza argomenti di file.
Se qualcuno ha una configurazione .vimrc come questa, puoi aggiungere quanto segue a .vimrc per impostare correttamente l'evidenziazione della linea del cursore: -
function s:SetCursorLine()
set cursorline
hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()
Un po 'di spiegazione sul motivo per cui funziona. Insieme a varie informazioni sul buffer e sulla finestra, mksession salva il nome dello schema di colori corrente. Questo viene ripristinato durante l'avvio del programma tramite il ripristino della sessione. Tuttavia, poiché il ripristino della sessione viene in genere eseguito dopo che .vimrc è stato eseguito (in genere utilizzando una funzione invocata tramite "autocmd VimEnter *"), l'impostazione di evidenziazione della linea del cursore in .vimrc viene ripristinata per impostazione predefinita per lo schema dei colori ripristinato.
La funzione precedente, invocata tramite autocmd, verrà eseguita dopo che tutte le inizializzazioni sono state completate e quindi imposta con successo l'evidenziazione della linea del cursore.
HTH.