2016-11-11 14 views
0

В настоящее время, когда я нажимаю курсор-левый в командной строке в neovim (: any foo bar), курсор перемещается по целому слову. Большую часть времени я просто хочу, чтобы он переместил одного персонажа.Как изменить поведение клавиши курсора в командной строке в neovim?

ответ

1

Это не должно быть поведение по умолчанию. Вероятно, это плагин или что-то, что вы когда-то добавляли в ваш vimrc в какой-то момент. Попробуйте использовать :verbose cmap, чтобы узнать, на что он установлен (см. Также How do I debug my vimrc file?).

Вы также можете использовать :cnoremap <Left> <Left> для восстановления поведения по умолчанию.

+0

Привет, спасибо, что нашли время ответить. –

+0

(Редактировать, делает сообщение здесь ...) Это явно странно. Это происходит за пределами tmux, даже если я использую bash вместо zsh, даже с nvim -u NORC, даже после перемещения .vim/plugins. Не существует сопоставления, и ваша cnoremap ничего не изменит. У меня нет абсолютно никакой подсказки. Это немного грустно, потому что это единственное, что удерживает меня от 'alias vi = nvim' –

+0

Я нашел решение. Поставит его здесь как ответ, чтобы другие могли его найти. Так или иначе. ваш комментарий заставил меня переоценить вещь, поэтому спасибо. –

0

Это связано с putty и тем, как он отправляет ключи курсора. Хитрость заключается в том, чтобы узнать, что на самом деле видит nvim, а затем :cnoremap... соответственно.

Путь, чтобы выяснить, что ваш nvim получает, это:

  • Режим ввода
  • хит Ctrl-v
  • нажмите клавишу вы хотите увидеть

Be что nvim ведет себя несколько иначе, чем vim здесь: vim показывает вам фактическую escape-последовательность, в то время как nvim показывает вам переведенные ключи. Последнее немного неудачно.

В моем случае по причинам, которые я не выяснил, nvim увидел Ctrl-Left как, но Left as. Поскольку мне никогда не нужно S-Left в командной строке, :cnoremap <S-Left> <Left> сделал трюк.