Сделали ошибку при редактировании файла с помощью Vim? Не волнуйтесь, вы можете отменить изменения в Vim и, если хотите, вы также можете повторить изменения.
И это тоже довольно просто.
Не может быть проще этого, не так ли? Чтобы запомнить, uозначает отменить и rозначает повторить.
Напишем немного подробнее.
Vim ведет запись изменений в стеке в формате LIFO (последний пришел – первым ушел). Всякий раз, когда вы вносите какие-либо изменения, они добавляются в стек. Когда вы отменяете его, сначала отменяется последнее изменение.
Возьмем пример. У нас есть файл, в котором мы удалили строки 3 и 6 в том же порядке.
Чтобы отменить изменения, мы переходим в командный режим, нажимая клавишу Esc, а затем нажимаю клавишу u. Как видите, сначала возвращается строка номер 6. Vim даже показывает информацию об отмененных изменениях внизу.
Если мы нажмем клавишу u еще раз, это отменит следующее изменение, которое удаляло строку 3.
Вы уловили суть. Чтобы отменить несколько изменений, вы можете продолжать нажимать клавишу u.
Если вы хотите отменить сразу несколько изменений, вы можете указать номер с помощью клавиши u.
Например, если вы хотите отменить последние 3 изменения, введите 3u раза по очереди 3 и u.
Отменить нельзя без повтора. В конце концов, вы можете изменить свое мнение об отмене.
Процесс повтора такой же, как и отмена. Вы переходите в командный режим, нажимая клавишу Esc. Находясь в командном режиме, нажмите Ctrl + R. Это означает, что нажмите и удерживайте клавишу ctrl и одновременно нажмите r.
Это вернет последнее отмененное изменение. Вы можете нажать Ctrl+r несколько раз, чтобы повторить изменения одно за другим.
Как вы можете видеть на скриншоте ниже, дважды нажмите Ctrl + r, чтобы снова удалить строку 3 и строку 6.
Вы также можете указать номер для одновременного выполнения нескольких повторов. Например, чтобы повторить последние 3 отмененных изменения, используйте 3Ctrl+r. Это означает, что сначала нажмите 3, а затем быстро нажмите и удерживайте Ctrl и нажмите клавишу r.
Вот как вы отменяете и повторяете изменения в Vim. Это не так уж сложно, правда?