Когда я использую большинство команд, они вступают в силу немедленно. Когда я использую O
команда, однако, я вижу, что "O" заменяет текущий символ для приблизительно секунда, затем возвраты текущего символа, и новая строка вставлена и открыта.
У меня нет такой проблемы с o
команда (открывают новую строку ниже и вставляют).
Если это имеет значение, я использую vim
от bash
, в терминале Gnome на Ubuntu 10.04.
Если предыдущей нажатой клавишей был ESC, это вызвано тем, что существуют ключи, которые могут генерировать escape-последовательности, начинающиеся с ESC O. Например, в зависимости от режима клавиш управления курсором, клавиша со стрелкой вверх может генерировать escape-последовательность ESC O A.
Если это будет видеть частичную escape-последовательность, то энергия будет ожидать короткого тайм-аута, чтобы видеть, получен ли другой символ, который соответствует одной из escape-последовательностей, определенных для Вашего терминального типа. Если не это будет рассматривать символы как отдельные нажатия клавиш. Можно протестировать это путем вхождения в столицу Некоторое время, ожидая строки для открытия, чтобы видеть, рассматривает ли она его как стрелку вверх вместо этого.
Существуют некоторые настройки энергии, которые могут использоваться для управления этим. :set ttimeoutlen=100
изменит тайм-аут escape-последовательности на 100 мс. :set noesckeys
полностью отключит распознавание ключей, отправляющих escape-последовательность когда в режиме вставки. Кроме того, vi-compatible режим не будет иметь этой проблемы, потому что esckeys выключен в том режиме – именно поэтому vim -u NONE
работы.