Почему энергия задерживается в течение секунды каждый раз, когда я использую команду 'O' (откройте новую строку выше и вставьте)?

Когда я использую большинство команд, они вступают в силу немедленно. Когда я использую O команда, однако, я вижу, что "O" заменяет текущий символ для приблизительно секунда, затем возвраты текущего символа, и новая строка вставлена и открыта.

У меня нет такой проблемы с o команда (открывают новую строку ниже и вставляют).

Если это имеет значение, я использую vim от bash, в терминале Gnome на Ubuntu 10.04.

26
задан 08.07.2010, 07:00

1 ответ

Если предыдущей нажатой клавишей был ESC, это вызвано тем, что существуют ключи, которые могут генерировать escape-последовательности, начинающиеся с ESC O. Например, в зависимости от режима клавиш управления курсором, клавиша со стрелкой вверх может генерировать escape-последовательность ESC O A.

Если это будет видеть частичную escape-последовательность, то энергия будет ожидать короткого тайм-аута, чтобы видеть, получен ли другой символ, который соответствует одной из escape-последовательностей, определенных для Вашего терминального типа. Если не это будет рассматривать символы как отдельные нажатия клавиш. Можно протестировать это путем вхождения в столицу Некоторое время, ожидая строки для открытия, чтобы видеть, рассматривает ли она его как стрелку вверх вместо этого.

Существуют некоторые настройки энергии, которые могут использоваться для управления этим. :set ttimeoutlen=100 изменит тайм-аут escape-последовательности на 100 мс. :set noesckeys полностью отключит распознавание ключей, отправляющих escape-последовательность когда в режиме вставки. Кроме того, vi-compatible режим не будет иметь этой проблемы, потому что esckeys выключен в том режиме – именно поэтому vim -u NONE работы.

27
ответ дан 07.12.2019, 09:33

Теги

Похожие вопросы