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