Есть ли команда для отмены последней операции, выполненной в режиме вставки?
Я просто вставил текст из неправильного регистра, используя <C-r>
, и у меня есть два варианта:
- Удалите вручную то, что я только что вставил, и начните все сначала.
- Переключитесь в нормальный режим, нажмите
u
и потеряйте текст, который я набрал, прежде чем нажать<C-r>
.
Есть ли способ лучше?
insert-mode
undo-redo
Зоол
источник
источник
<C-O>u
и выводом результата на экран довольно большая задержка (около 4 секунд), есть идеи, как мне от этого избавиться?:help i_CTRL-G_u
.Из режима вставки:
Если ваш вставленный текст меньше, чем одна строка (что подразумевает ваша вторая точка), просто нажмите,
<C-u>
чтобы удалить все символы перед курсором в текущей строке.Если вставляемый текст более одной строки, ваше второе решение будет работать лучше, адаптированная следующим образом :
<C-o>u
.Обе точки выше начнут и останутся - или закончат - в режиме вставки; они фактически совпадают с вашими предлагаемыми решениями, просто сделаны короче :)
источник
Вы можете попробовать
<C-w>
(удаляет слово слева) или<C-u>
(очистить символы перед курсором при однократном нажатии, удалить разрыв строки при повторном нажатии). Смотрите:help i_CTRL-W
и:help i_CTRL-U
.Если вы вставляете много данных из регистра, конечно, быстрее отменить ваши изменения, вы можете использовать
<C-o>
для этого команду insert-normal-mode (выполните одну команду в обычном режиме, а затем вернитесь в режим вставки).В общем случае полезно разделить ваши правки на мелкие фрагменты, часто возвращаясь к обычному режиму, чтобы у вас были возможности отменить все детали.
источник