Tuve un problema similar al configurar el resaltado de la línea del cursor, pero el mío se debió al comando mksession que estaba usando para guardar la información de la sesión durante la salida de vim. Esta sesión se restaura automáticamente durante el inicio del programa, si se ejecuta sin argumentos de archivo.
Si alguien tiene una configuración .vimrc como esta, puede agregar lo siguiente a .vimrc para configurar el resaltado de la línea de cursor correctamente: -
function s:SetCursorLine()
set cursorline
hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()
Una pequeña explicación de por qué funciona esto. Junto con diversa información de búfer y ventanas, mksession guarda el nombre del esquema de colores actual. Esto se restaura durante el inicio del programa mediante la restauración de la sesión. Sin embargo, dado que la restauración de la sesión generalmente se realiza después de ejecutar .vimrc (generalmente usando una función invocada a través de 'autocmd VimEnter *'), la configuración de resaltado de la línea del cursor en .vimrc se restablece de forma predeterminada para el esquema de colores restaurado.
La función anterior, invocada a través de autocmd, se ejecutará después de que se complete toda la inicialización y, por lo tanto, establezca con éxito el resaltado de la línea de cursor.
HTH.