Основи Vim

Отже, ви розібралися, як вийти з Vim — вітаємо, ви вже пережили найскладніше (принаймні за версією інтернету). Але якщо ви хочете не просто втікати з Vim, а реально ним користуватися, кілька базових концепцій допоможуть зрозуміти, чому все працює саме так. Вважайте цю сторінку моментом “ага, ось воно що”.

Режими — головна ідея

Більшість редакторів працюють просто: ви натискаєте клавіші — з’являється текст. Vim інший. У нього є режими, і кожен режим дає клавіатурі іншу роль. Саме це робить Vim потужним — і саме це спантеличує новачків.

Ось чотири режими, які ви використовуватимете щодня:

Режим NORMAL — це ваша база. Коли ви відкриваєте Vim, ви тут. Клавіші не вводять текст — вони переміщують курсор, видаляють, копіюють і виконують команди. Натисніть Esc з будь-якого іншого режиму, щоб повернутися сюди.

Режим INSERT — тепер клавіші вводять текст, як у звичайному редакторі. Увійти можна через i (вставка перед курсором), a (додавання після курсора) або o (новий рядок знизу). Натисніть Esc, щоб повернутися до NORMAL .

Режим VISUAL — для виділення тексту. Натисніть v для посимвольного виділення, V для виділення рядків або Ctrl+v для блочного виділення. Після виділення можна видалити (d), скопіювати (y) або замінити (c) виділений фрагмент.

Режим COMMAND — натисніть : у режимі NORMAL , щоб відкрити командний рядок внизу екрана. Тут вводяться команди на кшталт :w (зберегти), :q (вийти) та :s/старе/нове/g (заміна).

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

Звідки Куди Як
Будь-який режим NORMAL Esc
NORMAL INSERT i, a, o, I, A, O
NORMAL VISUAL v, V, Ctrl+v
NORMAL COMMAND :

Буфери (buffers)

Коли ви відкриваєте файл у Vim, він завантажується в буфер — копію файлу в пам’яті. Можна мати багато відкритих буферів одночасно, навіть якщо на екрані видно лише один.

Команда Що робить
:ls Показати список відкритих буферів
:bn Перейти до наступного буфера
:bp Перейти до попереднього буфера
:bd Закрити поточний буфер
:e назва_файлу Відкрити файл у новому буфері

Вікна (splits)

Хочете бачити два файли поруч? Vim дозволяє розділити екран на вікна, кожне з яких показує окремий буфер (або той самий).

Команда Що робить
:sp Горизонтальний поділ
:vsp Вертикальний поділ
Ctrl+w h/j/k/l Переміщення між вікнами (ліворуч/вниз/вгору/праворуч)
Ctrl+w c Закрити поточне вікно
Ctrl+w = Зробити всі вікна однакового розміру

Вкладки

Вкладки у Vim працюють як робочі простори — кожна вкладка може містити власне розташування вікон і буферів. Зручно для організації різних завдань.

Команда Що робить
:tabnew Відкрити нову вкладку
:tabc Закрити поточну вкладку
gt Перейти до наступної вкладки
gT Перейти до попередньої вкладки

Командний рядок

Щоразу, коли ви натискаєте : у режимі NORMAL , ви потрапляєте в режим COMMAND . Командний рядок неймовірно потужний — ось найважливіше:

Команда Що робить
:w Зберегти файл
:q Вийти
:wq Зберегти і вийти
:help keyword Відкрити вбудовану довідку Vim
:set number Показати номери рядків
:%s/старе/нове/g Замінити “старе” на “нове” скрізь у файлі

Що далі?

Тепер, коли ви розумієте, як Vim думає, можна переходити до продуктивної роботи: