Ответ 1
Как ответили другие, эффект, вероятно, вызван опцией cursorline
.
Вы можете отследить, что script сделал последнее изменение в опции, выполнив команду set optname?
в команде verbose
:
:verbose set cursorline?
Вероятно, вы просто найдете, что плагин Netrw установил его; Netrw обрабатывает просмотр локальных каталогов и удаленный доступ к каталогам/файлам, например ваш пример scp://
. Netrw настраивает cursorline
(и cursorcolumn
) в своих целях (например, списки каталогов), но пытается восстановить значение "значение пользователя". К сожалению, его идея "пользовательского значения" фиксируется, когда часть кода Netrw загружается и не обновляется впоследствии.
Я предполагаю, что каким-то образом (через какой-то другой плагин или бит конфигурации) cursorline
устанавливается, когда Netrw загружает (и фиксирует его значение), но позже reset к моменту начала редактирования первый файл. Затем, когда вы позже сохраните файл (:w
), Netrw восстановит "захваченное" значение. К сожалению, похоже, что нет хорошего способа обновить это "захваченное" значение параметра cursorline
(нет "внешнего" доступа к переменной script, которую он использует, и он не "отбирает", если вы вручную перезагрузите файл).
Однако вы можете явно загружать бит Netrw, который "захватывает" cursorline
, когда ваше желаемое значение активно. Вы могли бы сделать это со следующими двумя командами на ранней стадии ~/.vimrc
(возможно, на самом верху, если необходимо - это должно быть до того, как в первый раз будет использоваться autoload/netrw.vim
):
set nocursorline
runtime autoload/netrw.vim " will 'capture' cursorline and cursorcolumn values
Netrw по-прежнему будет устанавливать / reset cursorline
(и cursorcolumn
), но до тех пор, пока значение, которое вы обычно хотите, соответствует активному значению до загрузки Netrw, вы не заметите его.