Редактор Vim
Vim — мощный текстовый редактор, который часто встречается на серверах под управлением Linux, FreeBSD и macOS. Он работает прямо в терминале, не требует графического интерфейса и позволяет быстро править конфигурационные файлы, писать код или скрипты. Эта статья поможет вам разобраться, что такое Vim, как его установить, освоить базовые режимы работы, научиться перемещаться по тексту, редактировать его, пользоваться буфером обмена и выполнять поиск с заменой.
Что такое текстовый редактор Vim
Vim (Vi IMproved) — это усовершенствованная версия старого редактора Vi, созданного в 1976 году. Он распространяется как свободное программное обеспечение и работает в десятках операционных систем. Главная особенность Vim — управление с клавиатуры без использования мыши, что после привыкания ускоряет работу.
Чем Vim отличается от других редакторов текста
- Режимный интерфейс. Большинство редакторов (Notepad, VS Code, nano) находятся в одном режиме «ввод текста». Vim же имеет несколько режимов, переключаясь между которыми вы либо пишете текст, либо выполняете команды.
- Эффективность. Повторяющиеся действия автоматизируются комбинациями (например, dd — удалить строку, 3dd — удалить три строки).
- Легковесность. Vim потребляет очень мало ресурсов, что особенно ценно при работе по SSH на удалённом сервере.
- Повсеместность. Vim предустановлен почти на всех Unix-подобных системах; в экстренной ситуации он всегда под рукой.
- Расширяемость. Поддерживаются плагины, синтаксис многих языков программирования, макросы.
Установка Vim
Проверка, если Vim уже установлен
Откройте терминал (командную строку) и выполните:
vim --version
Если вы видите номер версии и список возможностей — Vim уже установлен. Если команда не найдена, переходите к установке.
Установка под разные операционные системы
Linux (Debian / Ubuntu / Mint)
sudo apt update
sudo apt install vim
Linux (RHEL / CentOS / Fedora)
sudo dnf install vim-enhanced # Fedora
sudo yum install vim # старые CentOS/RHEL
macOS
Установите через Homebrew:
brew install vim
Или используйте предустановленный vi (сокращённая версия), но лучше доставить полноценный Vim.
Windows
- Скачайте установщик с официального сайта (выберите «PC: MS-DOS and MS-Windows»).
- При установке отметьте опцию «Create .bat files for command line», чтобы вызывать Vim из командной строки.
- Альтернатива: используйте WSL (Windows Subsystem for Linux) и ставьте Vim внутри Linux.
После установки проверьте командой vim --version.
Разбор интерфейса
Интерфейс Vim очень материалистичен: при запуске вы видите пустую область с тильдами (~) в начале пустых строк и строку статуса внизу. Вся магия — в клавиатурных командах.
Особенности управления (режимы работы Vim)
По умолчанию Vim открывается в нормальном режиме (Normal mode). Это главный режим для навигации и выполнения команд. Всего режимов несколько:
| Режим | Как войти | Назначение |
| Normal | Esc (из любого другого) | Перемещение, удаление, копирование |
| Insert | i, a, o и др. | Ввод текста, как в обычном редакторе |
| Visual | v (посимвольно), V (строка) | Выделение текста |
| Command-line | : | Выполнение команд (сохранить, выйти) |
Совет новичку: всегда знайте, в каком вы режиме. Если не уверены — нажмите Esc несколько раз, это вернёт вас в Normal.
Команды управления и навигации
Все команды ниже выполняются из нормального режима.
Перемещение курсора
Можно использовать стрелки, но лучше учить буквенные клавиши:
- h — влево
- j — вниз
- k — вверх
- l — вправо
Навигация по тексту:
| Команда | Действие |
| 0 | Начало текущей строки |
| $ | Конец текущей строки |
| w | Начало следующего слова |
| b | Начало предыдущего слова |
| gg | Первая строка файла |
| G | Последняя строка файла |
| :число | Перейти на строку с указанным номером (например, :42) |
Основные действия в нормальном режиме:
- x — удалить символ под курсором
- dd — удалить (вырезать) текущую строку
- yy — скопировать (yank) текущую строку
- p — вставить скопированное/вырезанное после курсора
- u — отменить последнее действие
- Ctrl + r — повторить отменённое (redo)
Выход из Vim (важнейшая команда):
- :q — выход (если нет несохранённых изменений)
- :q! — принудительный выход без сохранения
- :wq — сохранить и выйти
- :x — сохранить (если есть изменения) и выйти
Редактирование текста
Как открыть, редактировать и сохранить файл
Это базовый цикл работы с любым файлом в Vim. Допустим, вы хотите отредактировать файл config.txt.
Открыть файл в Vim
В терминале выполните:
vim config.txt
- Если файл существует, Vim покажет его содержимое.
- Если файла нет, Vim откроет пустую область — после сохранения файл будет создан.
Сразу после открытия вы находитесь в нормальном режиме (Normal). Печатать текст пока нельзя.
Перейти в режим редактирования (Insert mode)
Нажмите одну из клавиш (из нормального режима):
- i — начать ввод перед курсором
- a — начать ввод после курсора
- o — создать новую строку ниже и перейти в режим ввода
- O — создать строку выше
Внизу экрана появится индикатор -- INSERT -- — теперь можно набирать, удалять, править текст как в обычном редакторе.
Отредактировать текст
Свободно двигайте курсор стрелками, удаляйте клавишами Backspace / Delete.
Никаких специальных команд не нужно — вы просто пишете.
Закончить редактирование и вернуться в нормальный режим
Нажмите клавишу Esc. Индикатор -- INSERT -- исчезнет. Теперь вы снова в нормальном режиме, где можно выполнять команды сохранения, поиска или выхода.
Сохранить файл
Убедившись, что вы в нормальном режиме (нажмите Esc для надёжности), введите одну из команд (после :):
- :w — сохранить файл (не выходя из Vim)
- :w config.txt — сохранить под другим именем
Нажмите Enter.
Выйти из Vim
- :q — выйти (если все изменения сохранены)
- :wq или :x — сохранить и выйти
- :q! — выйти без сохранения (все изменения после последнего сохранения будут потеряны)
Схема одного сеанса редактирования (пример):
- Открыть файл
- vim config.txt
- Нажать i — войти в режим ввода
- i
- Редактировать
- Текст...
- Текст...
- Закончить редактирование
- Esc
- Сохранить
- :w
- Выйти
- :q
- :q
Более короткий путь: после редактирования сразу нажать Esc, затем :wq — сохранить и выйти за один шаг.
Частая ошибка новичков: открыть файл, начать печатать и не понять, почему ничего не вводится.
Помните — сначала нажмите i (или a, o), только потом печатайте.
Буфер обмена
Vim использует собственные «регистры» (registers) для копирования и вставки. Самые ходовые:
- Неименованный регистр "" — туда попадает всё, что вы удалили (dd, x) или скопировали (yy). Вставка p берёт из него.
- Системный буфер обмена "+ — позволяет обмениваться текстом с другими приложениями (не всегда доступен; требуется Vim с опцией +clipboard). Проверьте: vim --version | grep clipboard.
Как использовать системный буфер:
- В Visual режиме выделите текст (v + движение).
- Скопируйте в системный буфер: "+y.
- Вставьте из системного буфера в Vim: "+p.
- Снаружи Vim (например, в браузере) нажмите Ctrl+V для вставки этого текста.
Если системный буфер недоступен, можно использовать мышь: в большинстве терминалов выделение мышью автоматически копирует в буфер ОС, а правая кнопка или Shift+Insert — вставляет.
Работа с именованными регистрами (от "a до "z):
Скопировать строку в регистр a: "ayy
Вставить из регистра a: "ap
Поиск и замена текста
Поиск (из нормального режима):
- /слово — искать вперёд по файлу
- ?слово — искать назад
- n — повторить поиск в том же направлении
- N — повторить поиск в противоположном направлении
- :set hlsearch — подсвечивать все найденные совпадения (можно добавить в конфиг ~/.vimrc)
Замена текста (команда :s в командной строке):
- Замена первого вхождения old на new в текущей строке:
-
:s/old/new/
-
- Замена всех вхождений в текущей строке:
-
:s/old/new/g
-
- Замена всех вхождений во всём файле:
-
:%s/old/new/g
-
- Замена с подтверждением (спросит для каждого совпадения):
-
:%s/old/new/gc
-
Примеры поиска с заменой:
- Заменить все foo на bar в строках с 5 по 15: :5,15s/foo/bar/g
- Удалить все пробелы в конце строк по всему файлу: :%s/\s\+$//g
Заключение
Вы изучили основы Vim: режимы, навигацию, редактирование, работу с буфером обмена, поиск и замену. На первый взгляд редактор может показаться неудобным, но через несколько дней регулярной практики вы начнёте ценить его скорость и надёжность. Особенно полезен Vim при администрировании серверов — он есть везде и не подведёт.
Для дальнейшего освоения:
- Встроенный учебник: запустите vimtutor в терминале.
- Справочная система внутри Vim: :help или :help topic (например, :help copy).
- Настройте свой ~/.vimrc — добавьте syntax on, set number, set hlsearch.


