У мене була подібна проблема із встановленням виділення курсора, але моя через команду mksession, яку я використовував для збереження інформації про сеанс під час виходу vim. Потім цей сеанс автоматично відновлюється під час запуску програми, якщо він запускається без будь-яких аргументів файлу.
Якщо хтось має подібні налаштування .vimrc, ви можете додати до .vimrc таке, щоб правильно встановити виділення курсора: -
function s:SetCursorLine()
set cursorline
hi cursorline cterm=none ctermbg=darkblue ctermfg=white
endfunction
autocmd VimEnter * call s:SetCursorLine()
Трохи пояснень, чому це працює. Разом з різною інформацією про буфер та вікно, mksession зберігає поточну назву кольорової схеми. Це відновлюється під час запуску програми за допомогою відновлення сеансу. Однак, оскільки відновлення сеансу зазвичай виконується після запуску .vimrc (зазвичай із використанням функції, що викликається через 'autocmd VimEnter *'), параметр виділення курсора в .vimrc за замовчуванням скидається для відновленої кольорової схеми.
Вищевказана функція, що викликається через autocmd, буде запущена після завершення всієї ініціалізації, і тому успішно встановлює виділення курсора.
HTH.