Як використовувати Undo у Vim

Під час редагування за допомогою Vim у Linux легко зробити помилки. На щастя, їх також легко скасувати.

Як скасувати редагування Vim

Прості операції скасування Vim подібні до функції скасування, яку ви могли використовувати в сучасних текстових процесорах, таких як Microsoft Word, LibreOffice Writer або Google Docs. Vim відстежує зміни, які ви вносите у файл, і за потреби може відкотити їх.

Vim розглядає все, що ви робите в режимі вставки, або будь-які команди в командному режимі як зміни. Наприклад:

  • Якщо ви введете кілька рядків у режимі вставки, а потім негайно скасуєте дію, ці рядки буде видалено.
  • Якщо ви введете рядок, перейдете в командний режим, а потім повернетеся в режим вставки та введете ще трохи тексту, ви створите дві зміни. Скасувати видалить кожен окремо.

Ви також можете повторити команди Vim, наприклад «3dd», щоб видалити три рядки. Якщо ви введете одну з цих складених команд, її також буде перероблено як останню зміну. Ви можете продовжувати скасовувати дії, доки не повернетеся до того місця, з якого почали, коли ви відкривали або створювали файл.

Якщо ви розумієте, що внесли зміни у Vim, які ви не хотіли робити, скасування цього є простим двоетапним процесом:

  • Натисніть Esc, щоб переконатися, що ви перебуваєте в командному режимі.
  • Натисніть u, щоб скасувати попередню зміну.
  • Це воно. Ви побачите повідомлення про внесені зміни, наприклад «n рядків менше».

    Якщо ви хочете скасувати кілька змін, ви також можете це зробити. Просто додайте перед командою скасування кількість змін, які ви хочете скасувати, як це можна зробити з більшістю інших команд Vim. Наприклад, якщо ви хочете скасувати дві зміни, ви повинні натиснути:

    2u 

    Як повторити у Vim

    Ви можете виявити, що ваша команда скасування робить щось небажане, або ви просто передумали. У цьому випадку ви можете виконати команди повторення, щоб повернути файл до попереднього стану.

    Оскільки Vim відстежує ваші зміни, він також відстежує ваші скасування. Таким чином, ви можете скасувати свої скасування, якщо потрібно, за допомогою операцій повторення. Пам’ятайте, що Vim розглядає кілька рядків, введених у режимі введення, як одну зміну, тому, якщо ви повторите операцію, ви отримаєте кілька рядків назад однією командою.

    Команда для цього — Ctrl + r, що означає «повторити». Переконайтеся, що ви перебуваєте в командному режимі, натиснувши Esc. Повторити працює за тим же принципом, що і скасувати; наприклад, ви можете повторити повторне виконання, додавши до нього кількість повторень, які ви хочете зробити.

    Як і у випадку скасування, ви побачите коротке повідомлення про зміни, які було внесено повторно, наприклад кількість рядків, доданих до файлу. Ви можете повторювати будь-яку кількість разів, поки не повернетеся до поточного стану файлу.