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

Иногда при редактировании файла вы можете удалить неправильную строку или передумать редактировать, и вам захочется отменить изменения.

В этой статье объясняется, как отменить и повторить изменения в 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 вы также можете использовать квантификаторы. Например, если вы хотите повторить 4 последних изменения, введите 4Ctrl-R .

Каждую команду отмены можно отменить с помощью команды повтора.

Выводы

Чтобы отменить изменение в Vim / Vi, введите u , а для возврата отмененного изменения используйте последовательность Ctrl-R .

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

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

Оставьте комментарий