У меня была похожая проблема с настройкой выделения курсора, но моя была из-за команды 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.