Тайм-аут выхода из командной строки Vim - PullRequest
5 голосов
/ 22 февраля 2012

У меня проблема с задержкой при использовании <Esc> или <C-[> для выхода из режима командной строки.Похоже, что vim ждет, чтобы увидеть, собираюсь ли я ввести раскладку клавиш, и я изменил свой ttimeoutlen, и это не меняет задержку, но это не совсем то, что я хочу.Я предпочел бы, чтобы не было никакой задержки

Я сделал: map, чтобы посмотреть, есть ли какие-либо сопоставления, которые ожидают <Esc> ... или <C-[> ... но не видятлюбой, который делает.

Ответы [ 2 ]

3 голосов
/ 24 мая 2012

Наряду с настройкой ttimeoutlen, вы также устанавливаете ttimeout?Это необходимо для включения функции.В моем .vimrc есть следующее:

set ttimeout
set ttimeoutlen=100

Теперь у меня нет задержки после ESC (даже при работе без GUI), даже если у меня есть карты, которые включают ESC.Например:

if !has("gui_running")
    set <A-v>=<1b>v
endif

inoremap <A-v> <C-o>"+p

(обратите внимание, что <1b> выше было написано с использованием "Ctrl-v ESC")

0 голосов
/ 23 февраля 2012

Чтобы развернуть комментарий @AdeYU, размещенный по этому вопросу, в справочнике vim для карт говорится, что существует три различных типа отображения, которые могут повлиять на командную строку:

  • : карта
  • : CMAP
  • : Lmap

Вы должны проверить все три, чтобы исключить отображение как причину вашей проблемы.

Обновление: Несмотря на то, что документы, похоже, указывают, если я создаю imap, который начинается с escape, то нажатие escape в режиме командной строки неожиданно требует больше времени для ответа. Полагаю, вам тоже придется очистить изображения.

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