Решение проблем
Кратко о редактировании файла в Vim
Если требуется срочно отредактировать скрипт, конфиг или файл и у вас нет желания читать всю статью, то этот раздел для вас. Он содержит краткую инструкцию о том, как внести изменения в файл и выйти из редактора Vim. Для того чтобы открыть файл выполните:
vim /путь/к/файлу #стандартный вызов Vim.
Пример:
vim /etc/nginx/nginx.conf
Отмечу, что работать в Vim можно только в английской раскладке.
После открытия файла редактор находится в нормальном режиме (для навигации). Чтобы редактировать текст:
- Нажмите клавишу
iдля перехода в режим вставки (Insert mode). В левом нижнем углу появится надпись-- INSERT --. - Внесите необходимые правки с помощью клавиатуры.
- По окончании нажмите
Escдля возврата в нормальный режим. - Наберите
:wqи нажмитеEnter.
Готово! Изменения будут сохранены, а файл закрыт. Если требуется выйти без сохранения: наберите :q! и нажмите Enter.
Сохранить изменения без выхода (полезно при длительном редактировании): Наберите :w и нажмите Enter.
Важно: Двоеточие : в начале команды обязательно — оно активирует строку ввода внизу экрана.
Этих команд достаточно для решения 90% срочных задач редактирования в терминале. Для продуктивной ежедневной работы с Vim рекомендуется изучить основные комбинации клавиш для перемещения, поиска и работы с текстом.
Более подробнее о Vim читайте ниже.
Установка Vim на разных платформах
Linux:
# Ubuntu/Debian
sudo apt install vim
# CentOS/RHEL/Fedora
sudo yum install vim
# или
sudo dnf install vim
# Arch Linux
sudo pacman -S vim
macOS:
# Через Homebrew
brew install vim
Запуск Vim
vim filename.txt # Открыть файл
vim # Запустить без файла
vim -o file1 file2 # Открыть несколько файлов с горизонтальным разделением
vim -O file1 file2 # Открыть несколько файлов с вертикальным разделением
При запуске редактора Vim также можно передать другие опции:
Основы: три режима работы Vim
Нормальный режим (Normal mode)
Режим по умолчанию при запуске. Используется для навигации и выполнения команд.
Режим вставки (Insert mode)
Для непосредственного ввода текста. Переходы:
i — вставить перед курсором
a — вставить после курсора
o — новая строка ниже и вставка
I — вставить в начале строки
A — вставить в конце строки
Esc или Ctrl+[ — вернуться в нормальный режим
Визуальный режим (Visual mode)
Для выделения текста:
v — посимвольное выделение
V — построчное выделение
Ctrl+v — блочное выделение
Навигация в Vim
Движение по тексту:
h - влево j - вниз k - вверх l - вправо
w - следующее слово b - предыдущее слово
e - конец слова ge - конец предыдущего слова
0 - начало строки $ - конец строки
gg - начало файла G - конец файла
Ctrl+f - страница вниз Ctrl+b - страница вверх
Поиск в Vim
/text - поиск вперед
?text - поиск назад
n - следующий результат
N - предыдущий результат
* - найти слово под курсором
Буфер обмена в Vim
В Vim работа с выделением и буфером обмена имеет свои особенности:
В режиме Visual mode:
v — посимвольное выделение
V — построчное выделение
Ctrl+V — блочное (прямоугольное) выделение
После выделения можно: удалять (d), копировать (y), изменять (c)
Буферы обмена:
"+y — скопировать в системный буфер (clipboard)
"+p — вставить из системного буфера
"*y/"*p — работа с primary selection (в Linux X11)
Важно: Для доступа к системному буферу Vim должен быть скомпилирован с поддержкой +clipboard (проверьте vim —version | grep clipboard).
Внутренний буфер Vim:
"ay — скопировать в регистр a
"bp — вставить из регистра b
"" — неименованный регистр (по умолчанию)
"0 — последнее скопированное
Интерактивное обучение в Vim
Создатели Vim позаботились о новичках, встроив прямо в программу интерактивный учебник — vimtutor.
Vimtutor — это не просто справочник, а практический интерактивный курс, который запускается в самом редакторе. Он шаг за шагом знакомит с базовыми движениями, режимами (нормальным, вставки, визуальным), редактированием, копированием и поиском.
Для запуска интерактивного справочника введите команду:
$ vimtutor
Выполнение всех обучающих заданий займет примерно 30 минут.