Иногда при редактировании файла вы можете удалить неправильную строку или передумать редактировать, и вам захочется отменить изменения.
В этой статье объясняется, как отменить и повторить изменения в Vim / Vi.
Либо Vi, либо Vim устанавливается по умолчанию в macOS и почти во всех дистрибутивах Linux. Знание основ Vim может быть очень полезным, когда вы сталкиваетесь с ситуацией, когда ваш любимый редактор недоступен.
Содержание
Отменить изменения в Vim / Vi
Vim отслеживает все изменения, внесенные вами в текущем сеансе. Команда отмены отменяет одно или несколько изменений в порядке их внесения.
Чтобы отменить изменения в Vim и Vi, используйте команды u
:u
или :undo
:
- Если вы находитесь в режиме вставки или в любом другом режиме, нажмите
Esc
чтобы вернуться в нормальный режим, который также известен как командный режим. - Введите
u
чтобы отменить последнее изменение. В Vim командаu
также принимает квантификаторы. Например, если вы хотите отменить четыре последних изменения, вы должны использовать4u
.
Убедитесь, что вы набираете u
нижнем регистре, а не команду U
в верхнем регистре, которая отменяет все последние изменения в одной строке. Если вы случайно наберете U
вы можете отменить изменение с помощью u
.
Используйте команду отмены, чтобы отменить изменения, сделанные любой другой командой, такой как удаление, вставка , поиск и замена и т. Д.
При работе в режиме вставки все изменения текста рассматриваются как одна запись в дереве отмены. Например, если вы переключитесь в режим вставки и введете пять строк, затем вернетесь в обычный режим и нажмете u
чтобы отменить изменение, все пять строк будут удалены.
Вернуть изменения в Vim / Vi
Функция повтора отменяет действие отмены.
Чтобы повторить изменение в Vim и Vi, используйте Ctrl-R
или :redo
:
- Нажмите
Esc
чтобы вернуться в нормальный режим. - Используйте
Ctrl-R
(нажмите и удерживайтеCtrl
и нажмитеr
), чтобы повторить последнее изменение. В Vim вы также можете использовать квантификаторы. Например, если вы хотите повторить 4 последних изменения, введите4Ctrl-R
.
Каждую команду отмены можно отменить с помощью команды повтора.
Выводы
Чтобы отменить изменение в Vim / Vi, введите u
, а для возврата отмененного изменения используйте последовательность Ctrl-R
.
Vim также поддерживает ветки отмены .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.