Как отменить и повторить действие в Vim/Vi

29 gen 2024 2 min di lettura
Как отменить и повторить действие в Vim/Vi
Indice dei contenuti

Введение

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

В этой статье мы покажем вам, как отменить и повторить изменения в Vim/Vi.

Vi — это облегченный редактор, существующий с момента появления Unix, а Vim — это улучшенная версия Vi, включающая множество дополнительных функций и опций.

Vi или Vim по умолчанию предустановлены в macOS и почти во всех дистрибутивах Linux. Знание основ Vim может оказаться особенно полезным, когда вы окажетесь в ситуации, когда ваш любимый редактор недоступен.

Отменить изменения в Vim/Vi

Vim отслеживает все изменения, сделанные в текущем сеансе. Команда «Отменить» отменяет одно или несколько изменений в том порядке, в котором они были сделаны.

Чтобы отменить изменения в Vim и Vi, используйте команды u, :u или :undo:

  1. Если вы находитесь в режиме вставки или любом другом режиме, нажмите клавишу Esc, чтобы вернуться в обычный режим, также известный как командный режим.
  2. Введите u, чтобы отменить последнее изменение. В Vim команда u также принимает квантификаторы. Например, если вы хотите отменить последние четыре изменения, вы должны использовать 4u.

Убедитесь, что вы u команду в нижнем регистре, а не в верхнем регистре U, что отменяет все последние изменения в одной строке. Если вы случайно напечатаете U, вы можете отменить изменение с помощью u.

Используйте команду «Отменить», чтобы отменить изменения, внесенные любой другой командой, например удаление, вставка, поиск и замена и т. д.

При работе в режиме вставки все изменения текста рассматриваются как запись в дереве отмены. Например, если вы переключитесь в режим вставки и введете пять строк, а затем вернетесь в обычный режим и нажмите u, чтобы отменить изменение, все пять строк будут удалены.

Повторить изменения в Vim/Vi

Функция повтора является противоположностью отмены; позволяет отменить предыдущее действие.

Чтобы повторить изменение в Vim и Vi, используйте команду Ctrl-R или :redo:

  1. Нажмите клавишу Esc, чтобы вернуться в обычный режим.
  2. Используйте Ctrl-R (удерживайте Ctrl и нажмите r ), чтобы повторить последнее изменение. В Vim вы также можете использовать квантификаторы. Например, если вы хотите повторить последние четыре изменения, введите 4Ctrl-R.

Каждая команда отмены может быть отменена командой повтора.

Заключение

При работе с текстовыми файлами при редактировании часто допускаются ошибки, например случайное удаление строки или внесение непреднамеренных изменений. Чтобы отменить изменение типа Vim/u и вернуть отмененное изменение, используйте последовательность клавиш Ctrl-R.

Vim также поддерживает ветки отмены.

Кроме того, вы также можете использовать команды :earlier и :later для перемещения вперед и назад во времени посредством внесенных вами изменений. Например, ввод :earlier 10m отменит изменения, внесенные за последние десять минут, а ввод :later 5s отменит изменения, внесенные пять секунд назад.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.