Основи 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 думає, можна переходити до продуктивної роботи:
- Команди Vim — шпаргалка з найкориснішими командами
- Чому Vim? — ще не впевнені, чи варто вчити Vim? Прочитайте це