Vim — це безкоштовний і відкритий текстовий редактор на основі екрану для Unix. Це потужний, високо налаштований текстовий редактор, створений для ефективного редагування текстів. Редактор Vim був розроблений Брамом Муленаром. Він підтримує більшість типів файлів, і також відомий як редактор програмістів.
Встановлення Vim на Linux-систему
Щоб встановити vim на Linux, наприклад, на Ubuntu, виконайте таку команду:
**sudo apt-get install vim**
Щоб встановити vim на дистрибутиві на базі Arch, виконайте цю команду:
**sudo pacman -S vim**
Щоб відкрити термінал vim, скористайтесь цією командою:
**vim**
Ви можете побачити всі команди та їх документацію, скориставшись наступною командою:
**:help**
Щоб вийти з терміналу, введіть цю команду:
**:q!**
Щоб відкрити файл в vim, використовуйте таку команду:
**vim filename.txt**
Тоді файл буде відкритий.
Для введення в файл:
**i**
Перехід між режимами:
- Команди для введення тексту:
**a - Додати** текст після **поточному позиції курсора**
**A - Додати** текст в **кінець поточного рядка**
**i - Вставити** текст перед **поточну позицію курсора**
**I - Вставити** текст на **початку поточного рядка**
**o - Відкрити новий рядок** після **поточний рядок** та додати текст
**O - Відкрити новий рядок** перед **поточним рядком** та додати текст
Режим команд (де ви даєте команди редактору для виконання операцій).
Натисніть ESC для переходу в режим команд)
- Переміщення курсору:
**h -** перемістити курсор **вліво**
**j -** перемістити курсор **вниз**
**k -** перемістити курсор **вгору**
**l -** перемістити курсор **вправо**
**H -** перемістити на **верх екрану**
**M -** перемістити на **середину екрану**
**L -** перемістити на **низ екрану**
**w -** стрибок вперед до **початку слова**
**W -** стрибок вперед до **початку слова** (слова можуть містити розділові знаки)
**e -** стрибок вперед до **кінця слова**
**E -** стрибок вперед до кінця слова (слова можуть містити розділові знаки)
**b -** стрибок назад до **початку слова**
**B -** стрибок назад до початку слова (слова можуть містити розділові знаки)
**ge -** стрибок назад до **кінця слова**
**gE -** стрибок назад до кінця слова (слова можуть містити розділові знаки)
**0 -** стрибок до **початку рядка**
**^ -** стрибок до **першого непробільного символу** в рядку
**$ -** стрибок до **кінця рядка**
**g_ -** стрибок до **останняго непробільного символу** в рядку
**gg -** перейти до **першого рядка** документа
**G -** перейти до **останніго рядка** документа
**5gg або 5G -** перейти до **рядка 5**
**gd -** переміститися до **локального оголошення**
**gD -** переміститися до **глобального оголошення**
**tx -** стрибок до перед наступним входженням символу x
- Команди виходу з Vim:
**:q -** Вийти **без будь-яких змін**
**:q! -** Вийти **без збереження змін**
**:wq -** Вийти **після збереження змін**
- Команди видалення тексту:
**dd** — видалити (вирізати) **рядок**
**2dd** — видалити (вирізати) **2 рядки**
**dw** — видалити (вирізати) символи слова від позиції курсора до **початку наступного слова**
**diw** — видалити (вирізати) слово під курсором
**daw** — видалити (вирізати) слово під курсором і **пробіл після чи до нього**
**D** — видалити (вирізати) до **кінця рядка**
**d$** — видалити (вирізати) до **кінця рядка**
**x** — видалити (вирізати) **символ**
- Yank має більшість опцій видалення:
**yy** - yank **поточний рядок**
**y$** - yank до **кінця поточного рядка** від курсора
**yw** - yank від курсора до **кінця поточного слова**
**5yy** - yank, наприклад, **5 рядків**
- Вставка після видалення чи yank для відновлення рядків:
**p** - вставити **під курсор**
**P** - вставити **над курсор**
**"2p** - вставити з буфера 2 (є 9 буферів)
**u** - скасувати **остання зміну**
**U** - **відновити рядок**
**J** - Об’єднати наступний **рядок з поточним** до кінця
Видалити всі рядки в vim:
**Esc + gg + dG**
- Команди маніпуляцій з файлами
**:w** - **Записати** робочу область у оригінальний файл
**:W** - Записати робочу область у **вказаний файл**
**:e** - почати **редагування нового файлу**
**:r** - **Прочитати** вміст файлу в робочу область
Пошук:
**:/word** - **шукати слово** після курсора, використовуючи клавішу зворотного слэша, після чого вводите слово та натискаєте Enter
**:n** - використовуйте n для переходу до **наступного збігу слова**
**:N** - використовуйте N для переходу до **попереднього збігу слова**
Пошук і заміна:
**:s/searchword/replaceword/** - для **заміни слова** в файлі використовуйте команду s/ в vim, наприклад, **:s/searchword/replaceword/g** - для заміни всіх **вхідних слів використовуйте g**
Перекладено з: [Vim Editor in Linux & Commands](https://medium.com/featurepreneur/vim-editor-in-linux-commands-3619105ad0e8)