Станьте майстром VI, вивчивши ці 30 + ключових прив'язок

Vi - це потужний текстовий редактор, включений до більшості систем Linux. Багато людей клянуться vi і знаходять його швидше, ніж будь-який інший редактор, як тільки дізнаються його прив'язки клавіш. Ви навіть можете використовувати клавіатурні скорочення vi у Bash.

Ми вже розглянули початок роботи з vi для початківців. Якщо ви деякий час не використовували vi, можливо, ви захочете поглянути на цю публікацію, щоб освіжити в пам'яті основи.


Перемикання режимів

Коротко, vi - це модальний редактор - є режим вставки і стандартний командний режим. У режимі вставки vi працює подібно до звичайного текстового редактора. У командному режимі ви використовуєте ці прив'язки клавіш.

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

Пересування курсора

Vi використовує клавіші hjkl для пересування курсора в командному режимі. Ранні комп'ютерні системи не завжди мали клавіші зі стрілками, тому замість них використовувалися ці клавіші. Однією з переваг цих клавіш є те, що вам не потрібно відводити пальці від домашнього ряду, щоб використовувати їх.

  • h - Пересунути курсор ліворуч.
  • - Пересунути курсор вниз.
  • k - пересунути курсор вгору.
  • l - Пересунути курсор праворуч.

Ви також можете використовувати команди пошуку для швидкого пересування курсора.

  • / - Введіть a/, а потім текст, який ви хочете знайти, і натисніть Enter, щоб швидко пересунути курсор до положення тексту у файлі. Наприклад, якщо у вашому файлі є слово «ігуана», введіть/iguana і натисніть Enter, щоб швидко пересунути курсор туди.
  • - Подобається/, але шукає в зворотному напрямку.
  • f - Введіть f, а потім будь-який символ, щоб швидко перемістити курсор до наступного входження символу в поточному рядку. Наприклад, якщо у рядку є рядок «Hello world», а курсор знаходиться на початку рядка, введіть fo, щоб перейти до o в Hello. Введіть fo ще раз, щоб перейти до o у світі.
  • F - Як і f, але шукає в зворотному напрямку.
  • % - перехід між найближчими (), [] або {} символами у рядку.

Використовуйте ці команди для швидкого переміщення до місць у файлі:

  • H - Пересунути курсор на верхній (верхній) рядок у файлі.
  • M - Пересунути курсор на середній рядок у файлі.
  • L - пересунути курсор на нижній (нижній) рядок у файлі.
  • # G - Введіть число, а потім введіть G, щоб перейти до цього рядка у файлі. Наприклад, введіть 4G і натисніть Enter, щоб перейти до четвертого рядка у файлі.

Пересування між словами:

  • w - рухатися вперед на слово.
  • # w - Пересунути вперед на декілька слів. Наприклад, 2w рухається вперед на два слова.
  • б - Поверніться на слово назад.
  • # b - Поверніться на кілька слів назад. Наприклад, 3b пересуває назад на три слова.
  • e - Перейти до кінця поточного слова.

Копіювання і вставлення

Vi стосується процесу копіювання як «скидання».


  • v - Клацніть v і перемістіть курсор, щоб вибрати фрагмент тексту.
  • y - Скопіювати (відновити) виділений текст.
  • p - Вставити курсор.
  • x - вирізає виділений текст. Обрізає символ під курсором, якщо текст не виділено
  • r - Введіть r, а потім введіть інший символ, щоб замінити символ під курсором.

Об'єднання команд

Деякі команди, у тому числі наведені вище команди y і v та команда d (delete), приймають команди пересування курсора.

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

  • dw - вилучає наступне слово.
  • db - вилучає попереднє слово
  • de - вилучає до кінця поточного слова.
  • dL - вилучає весь текст під курсором у файлі.
  • d/unicorn - після натискання клавіші Enter видаляє весь текст між курсором і словом «єдиноріг» у поточному файлі.
  • dd - вилучає весь рядок.

Як бачите, комбінація комбінації команди з командою переміщення курсора дуже потужна.

Повторити і скасувати

Команда повторення Vi дуже потужна, оскільки вона може повторювати складні комбіновані команди.

  • U - Скасувати.
  • , -. повторює останню повну команду. Команда вставки також діє тут як команда. Наприклад, введіть iunicorn і натисніть Escape. Потім ви можете використовувати. Клавіша для вставлення слова єдинорога на курсор.

Бонус: використання прив'язок клавіш Vi до Bash

Після того, як ви освоїте прив'язки клавіш vi, ви можете захотіти використовувати їх в інших місцях вашої системи. Немає проблем - ви можете налаштувати оболонку Bash на використання прив'язок клавіш в стилі vi.

Спробуйте це в поточному сеансі, виконавши наступну команду в терміналі Bash:

set -o vi


Bash запуститься в режимі вставки - натисніть Escape для входу в командний режим і використовуйте ці прив'язки клавіш.

Якщо вам це подобається, ви можете додати команду до вашого файла ауд/.bashrc, і вона буде запускатися автоматично при кожному вході в систему. Використовуйте команду vi.bashrc, щоб відкрити та редагувати файл у vi.

Це не повний список прив'язок клавіш для vi, але він повинен допомогти вам зігнути свої крила vi і навчитися літати. Цей список прив'язок клавіш на веб-сайті Гарварду є більш повним і містить більше інформації, хоча він менш організований і важче перетравити все відразу.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND