Vim: рабочие режимы, хоткейсы и команды


Vim — это терминальный текстовый редактор, работающий почти в любой Linux-based операционной системе. Vim обрёл свою популярность благодаря возможности расширения функционала модулями, автоматизации и необычному подходу к редактированию кода. Vim ускоряет разработку, а главное, он позволяет за считаные минуты получить знакомую вам среду для работы на удаленной машине. Несмотря на свою популярность Vim обычно не входит в базовые дистрибутивы Linux. Поэтому сначала его надо установить. Установить Vim можно из стандартных репозиториев Linux:

apt install vim

Интерфейс

Стандартный интерфейс вима аскетичен и не очень информативен. Однако это легко исправляется множеством дополнений. Об этом мы расскажем чуть позже, а пока обратите внимание, что внизу редактора расположена информационная строка, которая отображает кол-во скопированных в буфер элементов и время последнего копирования.

Но главное, при задействовании некоторых хоткейсов в строке выводится вспомогательная информация. Например, кол-во скопированных строк или символов.

Эта информация бывает полезной для комбинирования нескольких хоткейсов. Больше ничего интересного в интерфейсе вима нет. Перейдем к горячим клавишам вима.

Горячие клавиши Vim

Vim имеет разные режимы работы, каждому из которых соответствует свой набор горячие клавиш (хоткейсов). А ещё у вима своя собственная терминология, на базе которой организованы группы хоткейсов.

Так, копирование в Vim — это yank, а хоткейсы для копирования начинается с y. Удаление — delete. Хоткейсы для удаления и вырезания начинаются с d. Вставка — put. Хоткейсы для вставки начинаются с p. Визуальный режим — visual. Хоткейсы для работы в визуальном режиме начинаются с v.

Поначалу эта система кажется запутанной, но немного поработав в ней — вы привыкнете, и руки сами запомнят все нужные комбинации. Перейдем к рассмотрению хоткейсов. Начнём с горячих клавиш для «обычного режима».

Горячие клавиши «обычного режима»

Обычный режим — это базовый режим, в который пользователь попадает сразу после запуска вима. Этот режим позволяет перемещаться по документу и вносить в него некоторые изменения. Базовые хоткейсы для этого режима:

Разберем отдельно хоткейсы и команды поиска и удаления. Начнем с команд поиска:

Хоткейсы для удаления:

Перемещать быстро по документу — это искусство, которое может многих впечатлить, но без навыков быстрого редактирования, оно будет выглядеть неполноценным. Для входа в режим редактирования существует целый блок хоткейсов.

Для быстрого перехода в режим редактирования достаточно нажать горячую кнопку i, а чтобы выйти — Esc.

Перейти в режим редактирования можно также с помощью следующих хоткейсов:

Для удаления символов, слов и строк существует целый набор хоткейсов:

Так же как и для удаления, для копирования и вставка существует свой отдельный блокхоткейсов:

А вот и небольшой лафхак, связанный с информационной строкой внизу окна вима. Если нужно слить все строки в абзаце — установите курсор в начале абзаца и воспользуйтесь сочетанием клавиш y). В внизу окна вима выведется кол-во скопированных строк, а теперь воспользуйтесь хоткейсом для слияния заданного кол-ва строк — число J.

Теперь мы знаем множество хоткейсов для навигации и редактирования текста, однако отменять последние действия мы пока ещё не умеем. Для отмены последнего действия существует несколько хоткеев:

Обычный режим позволяет редактировать текст командами, однако иногда необходимо выделить часть строки или часть блока текста. Сделать это можно в специальном режиме — визуальном.

Горячие клавиши визуального режима

Визуальный режим позволяет выбирать текст и управлять им. Установите курсор в место визуального выделения текста и нажмите v. Смещение курсора влево или вправо — выделяет текст посимвольно, смещение курсора вверх и вниз — выделяет текст построчно.

Можно войти в визуальный режим сразу сразу с функции построчного выделения текста — Shift + v. Помимо посимвольного и построчного выделения текста, существует режим блочного выделения текста — Ctrl + v.

Режим визуального выделения текста очень хорошо сочетается с хоткейсами обычного режима. Например, чтобы быстро выделить весь абзац достаточно установить курсор в начало абзаца нажать v и }.

Часто необходимо провести какие-то манипуляции с текстом целиком или с его отдельными блоками. Например, изменить регистр во всем документе. Вот некоторые хоткейсы визуального режима:

Итак, мы рассмотрели два режима: обычный режим и визуальный. Оба режима позволяют редактировать текст внутри документа. Теперь рассмотрим режим, который позволяет управлять состоянием документа.

Команды режима управления (командный режим)

Чтобы перейти в командный режим, находясь в обычном режиме — нажмите: (Shift;). В нижней строке состояния Vim должно появиться двоеточие. Это означает, что командный режим активирован и ожидает ввода команд.

Если двоеточие не появилось — нажмите несколько раз Esc, а затем повторите ввод двоеточия. Ввод команды подтверждается, нажатием кнопки ↵ Enter.

Возможности командного режима намного шире, чем просто сохранение файла и выход из Vim. Поэтому рассмотрим помимо команд работы с документом ещё команды замены текста.

Команды работы с документом

Существует множество команд для работы с документом. Все команды начинаются с:. Приведем основные команды для работы с документами:

Команды для замены частей текста

Основной конструкцией для составления поискового запроса в командном режиме является — :%s. Далее идут аргументы запроса. Все команды запроса вводятся в командном режиме, с активным: Приведём популярные команды поиска и замены:

Мы разобрали горячие клавиши и команды для управления состоянием файлов. Теперь настало время немного настроить Vim так, чтобы он выглядел более современно и функционально.

Настройка Vim

Vim можно настроить командами через командный режим или с помощью конфигурационного файла vimrc, который обычно расположен в директории: /etc/vimrc/vimrc.

Изначально vimrc содержит множество технической информации не нужной нам, поэтому откроем файл и очистим его, используя визуальный режим и некоторые хоткейсы обычного режима: перейдём в визуальный режим — v, теперь нажмём G (перевод курсора в конец документа) и нажмем del. Всё, файл очищен, теперь можно приступать к настройки Vim.

Настройки задаются короткими кодовыми командами, начинающимися с ключевого слова set. А комментарии, поясняющие значение команды, начинаются с ".

Добавим следующие полезные опции и настройки, которые сделают работу в Vim более приятной:

set number " — включить нумерацию строк
set iminsert=0 " — игнорировать регистр при поиске
set ic " — подсветить поиск
set ts=4 " — задать размер табуляции в 4 пробела
set showcmd " — отображать, выполняемую команду
set linebreak " — перенос по словам

Помимо опций, существует ещё множество разнообразных плагинов, которые расширяют возможности Vim. О них мы расскажем в других публикациях. А на этом разбор основных хоткейсов, команд и базовых настроек вима для удобной и продуктивной работы в текстовом редакторе закончен.

Последнее обновление: 04.05.2023