Saya memiliki masalah yang sama saat mengatur sorotan garis kursor, tetapi masalah saya adalah karena perintah mksession yang saya gunakan untuk menyimpan informasi sesi selama keluar dari vim. Sesi ini kemudian secara otomatis dipulihkan selama startup program, jika dijalankan tanpa argumen file apa pun.
Jika ada yang memiliki pengaturan .vimrc seperti ini, Anda dapat menambahkan yang berikut ini ke .vimrc untuk menyetel sorotan garis kursor dengan benar: -
function s:SetCursorLine()
set cursorline
hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()
Sedikit penjelasan mengapa ini berhasil. Bersama dengan berbagai informasi buffer dan jendela, mksession menyimpan nama skema warna saat ini. Ini dipulihkan selama startup program melalui pemulihan sesi. Namun, karena pemulihan sesi biasanya dilakukan setelah .vimrc dijalankan (biasanya menggunakan fungsi yang dipanggil melalui 'autocmd VimEnter *'), pengaturan sorotan garis kursor di .vimrc disetel ulang secara default untuk skema warna yang dipulihkan.
Fungsi di atas, dipanggil melalui autocmd, akan dijalankan setelah semua inisialisasi selesai dan karena itu berhasil menyetel sorotan garis kursor.
HTH.