40

Я использую Vim уже несколько месяцев через мой веб-хостинг (они разрешают доступ к замазке). Внезапно, ключ escape стал отвечать на запросы. Я не могу существовать вставки или любой другой режим, просто нажав escape. Я должен нажать F1 который вызывает помощь в vim и выводит меня в командный режим.

Я уверен, что моя клавиша ESC на клавиатуре работает нормально, так как все мои сочетания клавиш Windows, которые используют клавишу ESC, работают нормально.

Я знаю, что это нелепый вопрос, и я уверен, что есть еще много вопросов, касающихся решения. Что мне действительно нужно, так это твердое руководство относительно того, с чего начать.

Вещи, которые могут помочь:

  1. Я использую vim через замазку
  2. Я вхожу в систему, используя Jailshell
  3. Я не root

4 ответа4

125

Я по ошибке нажал Ctrl + s и застрял в режиме вставки. Чтобы выйти из него используйте Ctrl + q.

12

Попробуйте использовать Ctrl-[ вместо Esc .

Что является результатом:

python -c "print ord(raw_input('char '))"

когда вы нажимаете Esc и Enter? Должно быть "27". Каков результат нажатия Ctrl-V затем Esc?

Вы проверили все настройки в PuTTY, чтобы убедиться, что они разумны?

Вы используете Bash в удаленной системе? Посмотрите на вывод

bind -p | grep -i '\\e' | less

и посмотрим, увидишь ли ты что-нибудь необычное. У вас есть файл с именем ~/.inputrc? Посмотрите на его содержимое, чтобы увидеть, если что-то необычное.

Посмотрите на ~/.vimrc и посмотрите, все ли в порядке.

4

Может быть, вы используете режим вставки.

'insertmode' 'im' 'noinsertmode' 'noim'
логическое (по умолчанию выключено)
Заставляет Vim работать так, чтобы режим вставки был режимом по умолчанию. Полезно, если вы хотите использовать Vim в качестве немодального редактора. Используется для | evim |.
[...]
- Используйте CTRL-O для выполнения одной команды нормального режима | i_CTRL-O |). Когда это отображение, оно выполняется так, как если бы «insertmode» был отключен. Нормальный режим остается активным до тех пор, пока отображение не будет завершено. - Используйте CTRL-L для выполнения ряда команд в обычном режиме, затем нажмите Esc, чтобы вернуться в режим вставки. Обратите внимание, что CTRL-L перемещает курсор влево, как это происходит, когда «insertmode» не установлен. | I_CTRL-L |

Я предлагаю отредактировать ~/.vimrc чтобы добавить следующую строку:

set noinsertmode         "disable insert mode
0

У меня была эта проблема, но я понял, что это случайное изменение режима ввода SCIM на «Other - RAW CODE». Я изменил его обратно на английский / клавиатура и больше не было проблем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .