У меня есть следующая строка в моем .vimrc
:
nnoremap <Esc> :noh<Cr>
Это отлично работает в MacVim. Всякий раз, когда я открываю сам Vim, его «командная строка» начинается с:
.2c
Для чего стоит, когда войти, чтобы выполнить команду, Vim жалуется E16: Invalid range
.
Это небольшое раздражение, но как мне решить эту проблему?
Ответы:
Картографирование Escвсегда немного сложнее и, как правило, создает проблемы такого рода, даже если это не должно происходить.
«Канонический» метод для вашего отображения:
Таким образом Ctrl+L(который обычно перерисовывает ваш экран) перестанет выделяться и перерисовывается экран.
Я думаю, что выяснил, что происходит, но у меня все еще нет решения. Я предположил, что Vim получил строку, содержащую "
<ESC>
и 2c", поэтому я использовал следующее отображение, чтобы сделать его видимым:Это привело к следующей подсказке при запуске:
Что означает, что что-то отправлено
<ESC>[>0;261;0c
при запуске. Теперь, глядя на оригинальныеxterm
последовательности управления , мы находим, что:а также
Поэтому в моем случае что-то отправляется
CSI >
с P p = 0 (→ тип терминала VT100), P v = 261 (→ мояxterm
версия) и P c = 0.Тем не менее, я понятия не имею, откуда оно или как его остановить. Мое лучшее предположение, что некоторый обмен информацией между терминалом и Vim не выполняется, и что-то происходит с ошибками.
источник
.vimrc
не решило проблему. Крысы! Я использую Snow Leopard.Проблема в том, что для некоторого терминала vim получает [> 0; 261; 0c таким образом. И последнее "c" делает запуск vim болезненным, но я нашел простой способ пропустить первую "c" при запуске:
источник