Как переназначить ввод ключа в vim?

1244
scottlabs

Я только что получил клавиатуру Kinesis Advantage и хочу переназначить Enter в Esc в режиме вставки в vim. Я также использую iTerm2.

Вот что у меня так далеко:

inoremap <CR> <Esc> inoremap jj <Esc> nnoremap <CR> i

При запуске это не работает: Enter входит в режим вставки, а в режиме jjвставки выходит из режима вставки. Однако Enter не выходит из режима вставки.

Затем я перезагружаю свой файл vimrc:

:so $MYVIMRC

И альт, моя клавиша Enter теперь выходит из режима вставки, и все работает нормально.

Есть мысли о том, почему это будет происходить?

Спасибо

0
Вероятно, у вас есть что-то, что переопределяет отображение. Что значит "`: verbose imap`" показать? Heptite 8 лет назад 0
Ага, это именно то, что происходит. Перед перезагрузкой написано: * pumvisible ()? «\":" \"Последний набор из ~ / vim / bundle / YouCompleteMe / autoload / youcompleteme.vim`, а после:` i * Последний набор из ~ / .vimrc`. Спасибо! Хотите сделать ответ, и я его приму? scottlabs 8 лет назад 0

1 ответ на вопрос

1
Heptite

Это происходит, когда у вас есть плагин или другой сценарий, полученный после определения вашего сопоставления, который переопределяет ваше сопоставление. Самый простой способ выяснить, какой из этих команд запустить:

:verbose imap <cr> 

Это скажет вам, с какой последовательностью клавиш сопоставлен и какой сценарий определил сопоставление.