Вопрос Почему отображение запускает командную строку Vim в режиме замены?


У меня возникла проблема, когда запуск Vim из командной строки начинался в режиме Replace. Я, наконец, сузил его до этой строки в моей конфигурации:

nnoremap <ESC>         :noh<return><ESC>

Если я изменю ключ на что угодно, кроме как nnoremap <space><space><space> (просто чтобы проверить ... Я бы никогда не оставил это так). Я не вижу поведения. Если я использую MacVim вместо командной строки Vim, я тоже этого не вижу. Я использую iTerm 2 с xterm-256color terminal и zsh в качестве моего типа оболочки, поскольку это похоже на то, что это может быть актуальным.

У кого-нибудь есть идея, что я должен искать для устранения этой проблемы? Ответ, конечно же, приветствуется, но если вы также можете поделиться тем, о чем я должен думать, то эта проблема может помочь мне устранить подобные вещи в будущем.

Благодаря!


2
2018-03-27 16:56


происхождения




ответы:


Последовательности ANSI Escape, которые используются терминалом, начинаются с Escape (^[), и поскольку Vim использует их для связи с терминалом, он запутывается, когда вы набираете карту <Esc>, Вот почему в MacVim (и GVIM) нет проблем; те не используют терминал и имеют разные каналы ввода-вывода.

картографирование <Esc> в терминале Vim просто ищет проблемы; просто выберите другой ключ.


1
2018-03-27 19:36