Шпаргалка Vim: Як вийти з Vim'у (:q!) та інші команди
Я люблю Vim. І ви його любите. Тільки про це ще не знаєте.
Я допоможу дізнатися.
Почнімо з основ:
Вийти з Vim — :q (quit)
(Загалом, це написано на головній сторінці Vim'у — але ж ви ще не звикли читати довідку, правда?)
Якщо ви зробили в файлі якісь зміни, що їх не хочете зберігати (а хочете, бляха, просто вийти!) — :q!
Зберегти зміни — :w (write)
Зберегти зміни і вийти — :x або :wq
Режими Vim:
Режим Введення — i (Insert mode)
Візуальний режим — v
Вийти до Командного режиму — Esc
Гарячі клавіші (Командний режим):
Стандартний (дефолтний) режим Vim'у, звідки можна користуватися силою силенною гарячих клавіш для навігації та маніпуляції текстом, а також вводити команди в командний рядок Vim'у (на зразок термнальних).
Перше всього — навігація.
- h — ліво
- j — вниз
- k — угору
- l — право
Те саме можна робити звичайними стрілочками.
Можна навігувати на кілька рядків (вгору-вниз) чи знаків (вліво-вправо):
- 5h
- 8k
- 2l
Де цифри — це кількість рядків/знаків.
- ^ (Shift+6) — на початок рядку
- $ (Shift+4) — на кінець рядку
- A (Shift+a) — на кінець рядку, ввімкнути режим Введення після останного знаку.
- o — створити (вставити) пустий рядок після поточного і ввімкнути режим Введення
- O (Shift+o) — створити (вставити) пустий рядок перед поточним і ввімкнути режим Введення
- w — на початок наступного слова
- e — на кінець поточного/наступного(якщо курсор на останньому знаці) слова
- b — на початок поточного/попереднього(якщо курсора на першому знаці) слова
- gg — перший рядок документа
- G (Shift+g) — останній рядок документа
Маніпулювати текстом:
- x — вирізати знак (де курсор)
- dd — вирізати рядок (delete)
- yy — копіювати рядок (yank)
- dw — вирізати до початку наступного слова
- db — вирізати до початку поточного слова
- de — вирізати до кінця поточного слова
- bde — вирізати поточне слово
- комбінації так само працюють і з y
- p — вставити після поточного рядку/знаку
- P (Shift+p) — вставити перед поточним рядком/знаком
У межах слів:
Якщо копіювали не рядками, а знаками, то відповідно вставляєте перед/після курсором.
Шукати так:
/, а потім слово, фраза, регулярний вираз абощо.
Наприклад:
/hello — і Enter, аби перейти до першого після курсору випадку hello у тексті.
Навігувати по випадках:
- n — вперед (вниз)
- N — назад (вгору)
Підсвічувати синтаксис:
- :syntax on — ввімкнути
- :syntax off — вимкнути
Аби синтаксис підсвічувався за замовченням, треба додати рядок syntax on до файлу vimrc. Одним рядком:
echo 'syntax on' >> $HOME/.vimrc
Гарячі клавіші (Візуальний режим):
Візуальний режим — це той, який дозволяє обводити силу знаків, а потому вирізати, копіювати, видаляти тощо.
Коротше кажучи, все те саме, що ми робимо курсором у графічних редакторах.
- v — стандартний Візуальний режим (почати обводити з поточного знаку)
- V (Shift+v) — передусім обвести цілий поточний рядок і далі обводити вгору чи вниз цілими рядками
- Ctrl+v — Візуальний блок, обводити вертикально фіксований блок (а не знак за знаком і речення за реченням)
У Візуальному режимі рухайте курсором як у Командному (hjkl).
Також працюють gg і G, тож можна дуже швидко й легко скопіювати цілий документ.
Наприклад, ви посередині великого тексту, а треба скопіювати геть усе від початку до кінця:
gg —> Shift+v —> G —> y
Одна сека!
До речі, так — маніпулюйте виділеним текстом вже знайомим клавішами:
- d або x — вирізати обведений текст
- y — копіювати обведений текст
Вставляти текст вже знайомими p чи P (Shift+p) (як скопіюєте чи виріжете, Vim автоматично перемкнеться в Командний режим).
Далі буде…
Подальша читанка: Learning The Vi And Vim Editors