Горизонтальная линия в VIM - PullRequest
10 голосов
/ 08 марта 2012

Что означает горизонтальная линия в vim?При редактировании удаленного файла я вижу горизонтальную линию в текущей строке.

http://i.stack.imgur.com/M8GXB.png

Я не вижу ее при редактировании локальных файлов

Редактировать: курсор не отображается, пока я не сохраню файл (: w).Когда я набираю: w и ввожу пароль, появляется курсорная линия.Почему у него такое поведение?Когда я редактирую файл на удаленном компьютере, линия курсора отключается и не отображается.

Ответы [ 5 ]

11 голосов
/ 10 марта 2012

Как уже отвечали другие, этот эффект, вероятно, вызван параметром cursorline .

Вы можете отследить, что в сценарии было сделано последнее изменение параметра, запустивкоманда set optname? под командой verbose :

:verbose set cursorline?

Возможно, вы обнаружите, что плагин Netrw установил ее;Netrw управляет просмотром локальных каталогов и удаленным доступом к каталогам / файлам, как в вашем примере scp://.Netrw настраивает cursorlinecursorcolumn) для своих собственных целей (например, списки каталогов), но пытается восстановить значение до «пользовательского значения».К сожалению, его идея «пользовательского значения» фиксируется, когда часть кода Netrw загружается и впоследствии не обновляется.

Я предполагаю, что каким-то образом (через какой-то другой плагин или немного конфигурации), cursorline устанавливается, когда Netrw загружается (и фиксирует его значение), но позже он сбрасывается, когда вы начинаете редактировать первый файл.Затем при последующем сохранении файла (:w) Netrw восстанавливает «захваченное» значение.К сожалению, не существует какого-либо хорошего способа обновить это «захваченное» значение опции cursorline (нет «внешнего» доступа к используемой им переменной скрипта, и он не «перехватывается», если вы перезагрузите вручную).файл).

Однако вы можете явно загрузить бит Netrw, который «захватывает» cursorline, когда желаемое значение активно.Вы можете сделать это с помощью следующих двух команд в начале вашего ~/.vimrc (возможно, в самом верху, если необходимо - это должно быть до того, как в первый раз будет использоваться autoload/netrw.vim):

set nocursorline
runtime autoload/netrw.vim " will 'capture' cursorline and cursorcolumn values

Netrw по-прежнему будет устанавливать / сбрасывать cursorlinecursorcolumn), но до тех пор, пока значение, которое вы обычно хотите, соответствует значению, которое активно непосредственно перед загрузкой Netrw, вы не заметите его.

5 голосов
/ 16 марта 2012

Я не совсем знаю самое простое решение, чтобы заставить netrw действительно захватить правильное значение, но, по крайней мере (поскольку для меня nocul прав,) добавление:

let g:netrw_cursorline=0

До конца моего ~/.vimrc, кажется, исправил проблему для меня. Надеюсь, это кому-нибудь поможет!

4 голосов
/ 08 марта 2012

Это cursorLine. Его внешний вид определяется вашей цветовой схемой. Вероятно, тот, что на удаленном компьютере, отличается от вашего, или между $TERM вашего клиента / сервера есть несоответствие.

2 голосов
/ 28 июня 2012

Версия 142 netrw.vim исправила эту ошибку, по крайней мере, для меня (vim 7.3, старая версия netrw.vim была 140, работала под Cygwin).

Вы можете получить последнюю версию здесь: http://www.vim.org/scripts/script.php?script_id=1075

2 голосов
/ 08 марта 2012

Yup, ": установить линию курсора " или ": установить nocursorline ", чтобы включить или выключить линию.

Команда " vim scp: //.... "копирует удаленный файл на ваш локальный компьютер (то есть на компьютер, на котором выполняется процесс" vim "), затем открывает файл в" vim "для редактирования, а затем, если вы изменилифайл, копирует файл обратно в удаленную систему.Таким образом, подсветка синтаксиса и т. Д. Определяется только с помощью "vim" на вашей локальной машине.

Файлы с таким же синтаксическим типом (": sesyn"для отображения текущей схемы подсветки синтаксиса) подсвечиваются одинаково.Имеют ли файлы, в которых вы видите разницу, один и тот же синтаксис?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...