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