Текстовый редактор VIM — краткое руководство
![]()
VIM (сокр. от Vi Improved, произносится «Вим») — текстовый редактор, созданный на основе более старого Vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации. На выделенных серверах установлен VIM, также создан alias, который при вызове команды VI вызывает VIM. Если на сервере нет текстового редактора vim — его можно установить. Debian/Ubuntu:
# apt install vim
CentOS/AlmaLinux:
# yum install vim
- 1. Режимы работы
- 2. Основные команды VIM перемещения по тексту
- 3. Работа с буфером
- 4. Замена текста
- 5. Как выйти из редактора VIM
Режимы работы
Существует три основных режима работы: команд, редактирования и последней строки.
Выход из режима редактирования осуществляется клавишей Escape (далее обозначена как esc), переход в режим редактирования клавишами i или insert.
Находясь в режиме команд, можно выполнять сложные операции редактирования текста с помощью клавиши : (двоеточие). При нажатии этой клавиши курсор устанавливается в последнюю строку экрана, поэтому данный режим называется режимом последней строки. Он считается особым типом режима команд.
Для того, чтобы открыть какой-то файл или создать новый, надо выполнить команду:
# vim путь_к_файлу/имя_файла
Например, чтобы отредактировать конфигурационный файл NGINX с помощью VIM, напишем:
# vim /etc/nginx/nginx.conf
Конечно, если вы только начинаете изучать VIM и плохо разбираетесь в работе сервисов Linux, лучше не трогать конфигурационные и системные файлы, чтобы что-нибудь не поломать. Для тренировки можно взять какой-нибудь большой текст и скопировать его в тестовый файл.
При запуске VIM по умолчанию открывается режим команд (или командный режим).
Чтобы перейти в режим редактирования, необходимо нажать клавишу i (или insert) и внести нужные изменения.
Если вместо i нажать a, текст будет вставляться за символом, на котором стоит курсор (обычно при редактировании файлов используется этот метод, но тут кому как удобнее), если нажать o — будет вставлена новая строка.
Стирать текст можно как в режиме редактирования (как в любом классическом редакторе), так и в режиме команд (клавиша esc, затем клавиша x — она работает как клавиша del, то есть стирает вперед, если нажать shift+x, то будет стирать назад по аналогии с backspace).
Чтобы перейти в режим последней строки, следует выйти в режим команд (клавиша esc), затем нажать на двоеточие (:). Далее можно либо ввести команду (рассмотрим команды далее), либо выйти обратно в режим команд (клавиша esc).
Команды в VIM можно вводить в режиме последней строки (через двоеточие) и в режиме команд (с помощью клавиши SHIFT). Отметим, что VIM воспринимает команды только в английской раскладке, поэтому перед работой не забудьте ее проверить
Основные команды VIM перемещения по тексту
1. Перейти к строке с номером:
(esc) :номер или (esc),номер,shift+g
2. Поиск по тексту:
(esc) /слово_которое_ищем
Например, ищем слово «timeout». Переходим в режим команд (esc), вводим / (слэш) и timeout. Курсор перейдет на первое слово timeout в файле. Чтобы перейти к следующему слову timeout в тексте, нажимаем n, чтобы перейти к предыдущему — нажимаем N. Как только находим нужное нам слово в тексте — выходим из поиска клавишей esc.
3. Переместить курсор на начало следующего слова:
(esc) w (можно, например, перейти на 3 слова, нажав 3w)
4. Переместить курсор на конец следующего слова:
(esc) e
5. Переместить курсор на начало предыдущего слова:
(esc) b
6. Переместить курсор на конец предыдущего слова:
(esc) ge
7. Переместить курсор на следующий абзац:
(esc) >
8. Переместить курсор в начало строки:
(esc) 0 (ноль)
9. Переместить курсор в конец строки:
(esc) $
10. Переместить курсор на 10 строк вниз:
(esc) 10j
11. Переместить курсор на 5 символов вправо:
(esc) 5l
12. Переместить курсор в конец документа:
(esc) G или shift+g
13. Переместить слово в начало документа:
(esc) gg
14. Переместить курсор в предыдущее место:
(esc) ctrl+o
Команд для перемещения по тексту в VIM намного больше, здесь мы рассмотрели только основные, которые помогут вам освоится в VIM.
Работа с буфером
В режиме команд в VIM можно работать со строками, не используя ctrl+c, ctrl+x и ctrl+v. В Linux вместо них можно использовать сочетания клавиш ctrl+insert (копировать) и shift+insert (вставить), но мы рассмотрим примеры работы с буфером в VIM.
(esc) dd — удаляет строку в буфер (аналог ctrl+x).
(esc) 10dd — удаляет 10 строк в буфер.
(esc) yy — скопирует строку в буфер (аналог ctrl+c).
(esc) 10yy — скопирует 10 строк в буфер.
(esc) p — вставит содержимое буфера под курсором.
(esc) P — вставит содержимое буфера над курсором (аналог ctrl+v).
Замена текста
Один из мощных инструментов VIM — замена слова в тексте на другое. В Linux есть инструменты для этого, однако с помощью VIM можно, например, заменить все слова в строке.
(esc):s/что_меняем/на_что_меняем/ — в данном случае меняем первое слово «что_меняем» в строке на «на_что_меняем».
(esc):s/что_меняем/на_что_меняем/g
где g обозначает замену до конца строки, в таком случае меняются все слова «что_меняем» в строке.
Если надо менять информацию по всему файлу, то тогда пишем символ % в начале команды:
(esc):%s/что_меняем/на_что_меняем/g
В VIM есть очень удобный функционал комментирования строк.
- Комментировать блок текста от курсора до строки номер 10
. 10s/^/#/
- Комментировать блок текста от курсора до конца
Как выйти из редактора VIM
Среди пользователей Linux много шуток о том, что можно зайти в VIM и не выйти. Однако выход всё же есть. Мы расскажем, как можно это сделать.
- Стандартный выход осуществляется последовательностью нажатий (esc):q
Данная команда обычно используется в случаях, когда вы просто открыли VIM, чтобы что-то посмотреть, ничего не меняя. Если файл редактировался, то VIM не даст вам выйти, и вы увидите ошибку: E37: No write since last change (add ! to override). Если вы не хотите сохранять изменения, используйте следующую команду.
Добавив в конце восклицательный знак, мы как-будто твердо указываем VIM-у, что делать, игнорируя ошибки. Полезно, когда вы открыли файл, что-то в нем изменили или случайно что-то удалили и хотите выйти, не сохраняя изменения.
Добавив w, мы говорим VIM-у, что файл нужно сохранить с изменениями. Для начала рекомендуем научиться использовать режим последней строки, т.е. команды q! или wq. Со временем для ускорения работы можно начать использовать shift+zq и shift+zz.
- Выход с принудительным сохранением (например, если файл read-only):
(esc):wq!
Основные команды текстового редактора VI / VIM

Текстовый редактор vim, созданный на основе более старого vi. Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам. По умолчанию входит в состав любого дистрибутива Linux.
Открываем файл с помощью vi / vim:
vim test.txt vi test.txt
Основные режимы работы.
«Обычный режим» — перемещение по файлу, стирание текста и другие редактирующие функции. Это — основной режим, только из него можно сразу перейти в другие режимы. Для возврата в основной режим из любого другого режима:
, иногда 2 раза;
«Режим ввода» — ввод текста. Как только завершается ввод текста, принято сразу возвращаться в обычный режим. Заметьте, что стирание и ввод текста происходит в двух разных режимах. Переход в него из обычного режима:
«Командный режим» — Команды (операции с файлом, поиск и замена, настройка редактора…). Переход в него из обычного режима:
«Режим поиска» — ввод поискового запроса. Переход в него из обычного режима
/ , поиск от курсора до конца документа ? , поиск от курсора до начала документа
«Визуальный режим» — режим выделения текста:
"v" и влево или вправо стрелками; Shift+v вся строка целиком; Ctrl+v прямоугольник, часть текста.
Перемещение по файлу
После загрузки Vim, на экране вы увидите часть загруженного вами текстового файла. Загрузившись, Vim находится в «командном режиме» — один из основных режимов. Это значит, что если вы нажмете клавишу (строчная L), вместо появления «l» на месте курсора вы увидите, что курсор сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vim, а не как помещаемые в текст символы. Команды перемещения — один из наиболее важных типов команд. Вот некоторые из них:
Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже: ^ k Советы: Клавиша h находится слева и перемещает влево. < h l >Клавиша l находится справа и перемещает вправо. j Клавиша j похожа на стрелку "вниз". v - на страницу (экран) вниз; - на страницу (экран) верх; - на пол страницы (экрана) вниз; - на пол страницы (экрана) верх; - на строку вниз, без изменения положения курсора; - на строку верх, без изменения положения курсора; 0 («ноль») - в начало текущей строки; ^ - в начало текущей строки (к первому непробельному символу); $ - в конец текущей строки; w - на слово вправо; b - на слово влево; W - до пробела вправо; B - до пробела влево; > - абзац вниз; < - абзац вверх; gg - перейти в начало файла; G - перейти в конец файла; G - перейти на конкретную строку ; / - перейти к ; ? - то же самое, но искать назад; n - повторить поиск; N - повторить поиск назад; [[ - в начало функции; '' - к месту выполнения команды [[
Ввод текста
Следующие команды переводят редактор в режим ввода:
i — перейти в режим ввода с текущей позиции a — перейти в режим ввода после курсора I — переместиться в начало строки и перейти в режим ввода А — переместиться в конец строки и перейти в режим ввода o — перейти в режим ввода с новой строки под курсором O — перейти в режим ввода с новой строки над курсором s - заменяет указанное количество символов (удаляет указанное число символов и переходит в режим ввода). В отличии от команды с которая может удалить кусок текста размером не меньше слова (cw), командой s можно удалить любое число символов. Например 4s удалит четыре символа начиная с того который находится под курсором. Эта команда применяется для замены одного или нескольких символов другими символами. S - удаляет всю текущую строку и переходит в режим ввода. Число перед командой показывает сколько нужно удалить строк начиная с текущей. Например 4S удалит четыре строки включая текущую. R — перейти в режим ввода с заменой текста (аналог insert). Символы под курсором заменяются на вводимые. Команда применяется когда неизвестно сколько придётся изменить символов на другие (иначе можно было бы использовать команду s с указанием числа заменяемых символов, например, 7s). При удалении вводимых символов возвращаются те которые были до ввода команды. Такой режим сохраняется до конца строки. При вводе новой строки (по нажатию Enter), происходит не переход на другую строку с тем же режимом замены текста, а создание новой строки. r — заменить один символ. Заменяет символ находящийся под курсором на символ который следует за командой. При этом не происходит выхода из командного режима (не надо нажимать ESC после изменения текста). Например, команда ry - символ под курсором меняется на "y". Числовой показатель указывает сколько символов необходимо заменить на данный. Например, 3ry вставляет три символа "y".
Удаление и вставка
Ниже перечислены основные комманды удаления и вставки текста:
x — удалить символ под курсором (x удаляет указанное число символов начиная с того который находится под курсором); X — удалить символ влево (удалить символ перед курсором); d — используется совместно с командами перемещения. Удаляет символы с текущего положения курсора до положения после ввода команды перемещения. Пример: dw - удаляет символы с текущего до конца слова. включая пробел после слова, чтобы удалить символы до конца слова, но оставить пробел используется команда de, dE - удаляет символы с текущего до конца слова, включая символы пунктуации, но оставляет пробел после слова, diw - удаляет слово под курсором, dd — удалить текущую строку (вырезать); dd или dd — стирание числа строк начиная с текущей; db - удаляет символы с текущего до начала слова (удаление в обратном направлении); d0 - удаление символов с начала строки до текущего положения курсора; d$ или D - удаление символов с текущего положения курсора до конца строки; с — команда аналогичная d, но после удаление переходит в режим ввода; сс - команда удаляет текущую строку и переходит в режим ввода; C - удаляет текст с текущего положения курсора до конца строки, аналогична команде с$ (где $ - символ конца строки); yy (также Y) — копирование текущей строки в буфер; yy — копирование числа строк начиная с текущей в буфер; p — вставка содержимого буфера под курсором. Поскольку в vim девять ячеек буфера удаления. Можно вставить не только последнее удаление, но и удаления сделанные ранее. Например "4p" вставит под курсор содержимое четвертого удаления начиная с последнего. Также чтобы поменять местами два символа можно использовать комбинацию команд "удалить" -x (удаление в буфер) и "вставить" - p (вставить из буфера). Таким образом, поставив курсор на первую букву из двух которые необходимо поменять местами и нажав комбинацию клавиш xp мы совершим необходимые действия; P — вставка содержимого буфера перед курсором; J — слияние текущей строки со следующей. Числовой аргумент перед командой показывает сколько следующих линий необходимо объединить с текущей. Например 2J объединить две следующие строки с текущей, на которой расположен курсор.
Отмена изменений
u — отмена последней команды; U — отмена всех последних изменений в строке, если строка удалена, то применить эту команду к данной строке будет невозможно.
Поиск
Перейти на строку:
/фраза - поиск фразы во всем документе. n - следующее найденное (вниз) N - предыдущее (вверх).
Выход
Есть еще пара команд, которые вам необходимо знать:
:q! - выйти без сохранения; :wq - записать файл и выйти; ZZ - записать файл и выйти (Если файл не изменяли, то записываться он не будет)
В этой статье описаны основные возможности, необходимые для работы. Практически во все дистрибутивы Linux входит учебник по работе с редактором, - просто введите в командной строке команду vimtutor.
Справка
Для вызова справки (помощи) о редакторе введите в терминале команду:
man vim
Редактор Vim и как с ним работать

Vim — это текстовый редактор, который можно удобно настроить под себя благодаря расширениям и большому выбору инструментов для пользователя. Он работает в терминале, что даёт возможность разработчикам значительно быстрее выполнять задачи. За счёт командных функций Vim помогает увеличить продуктивность работы. Это выбор профессионалов, которые используют консоли для быстрого и удобного написания кода.
В Linux есть и другие редакторы кода, которые тоже работают в терминале. Например, редактор Vi, на базе которого и создан Vim. У него много удобных функций — можно быстро перемещаться по тексту, пользоваться командами, плагинами. Но Vim в освоении всё же более простой.
А ещё есть редактор Nano, у которого интуитивно понятный интерфейс и есть много функций, свойственных графическим приложениям. Он позволяет вырезать и вставлять, искать и заменять слова и так далее. Его удобно использовать для решения быстрых и простых задач, однако если для программиста в приоритете максимально расширенный функционал, ему всё же стоит присмотреться именно к Vim.
В чём особенность Vim
От многих других редакторов Vim отличается тем, что здесь применяется два основных режима ввода — командный и текстовый. Режимы переключаются вручную. После запуска редактор автоматически открывается в командном режиме. Когда пользователь переключается с одного режима на другой, клавиши клавиатуры начинают работать немного по-другому. К примеру, при включённом режиме вставки при нажатии клавиши «W» эта буква будет вводиться в соответствующем поле. А если вернуться к командному режиму, то эта же клавиша будет перемещать курсор вперёд на одно слово.
Такие возможности Vim позволяют пользователям обходиться без мыши — при помощи клавиатуры можно и вводить символы, и перемещаться по тексту. Это очень удобно для программистов, так как они постоянно переключаются между редактированием и просмотром кода. При этом им не нужно тратить время на перенос руки с клавиатуры на мышь или трекпад, а затем на перемещение курсора в нужное место и возвращение руки на клавиатуру.
Пользователи могут осваивать Vim и при использовании разных версий IDE, при этом им понадобится соответствующий плагин или расширение. Об этом мы чуть подробнее расскажем дальше в статье.
Начальная практика в Vim
Важно сразу приступать к практике и пробовать выполнять все задачи именно в Vim. Предстоит просмотреть текстовый файл, поправить скрипт Python или сделать какую-то заметку — непременно следует делать это всё в Vim. И уже на этом этапе разработчику пора понемногу отучать себя от использования мыши (трекпада).
Вместо заучивания множества клавиатурных сокращений нужно учиться самостоятельно анализировать и искать путь решения при выполнении любой задачи в Vim. А именно — искать самый короткий порядок нажатия клавиш для достижения конкретной задачи. Через несколько недель пользователь автоматически запоминает нужные команды.
Чтобы как можно быстрее освоить Vim, нужно использовать вышеупомянутые клавиатурные сокращения Vim повсюду. Пользователям браузеров Firefox, Chrome, Brave, Edge стоит установить расширение Vimium. Оно как раз предназначено для того, чтобы применять в деле клавиатурные сокращения Vim. С их помощью можно быстро перемещаться и отучаться таким образом от работы с мышкой.
Тем, кто использует какую-либо версию IDE, рекомендуется найти плагин или расширение для имитации клавиатурных сокращений Vim. Пользователям разных видов IDE от JetBrains хорошо подойдёт ideavim. А любителям работать с VS Code нужно будет найти расширение VSCodeVim. Для Jupyterlab тоже есть хороший вариант — нужно установить jupyterlab-vim, чтобы включились клавиатурные сокращения Vim.
При запуске редактора можно сразу начать работать с нужным файлом и применить к нему нужную опцию, набрав:
$ vim опции имя_файла
Можно применить следующие опции:
- -R — открыть в режиме «только чтение»;
- -g — включить графический режим;
- -w — сохранить все действия в файл;
- -b — воспользоваться двоичным режимом, чтобы редактировать исполняемые файлы;
- -x — активировать шифрование файла при записи;
- -d — найти различия в файлах (потребуется указать несколько файлов для открытия);
- -C — включить режим совместимости с Vi;
- -n — отключить функцию автоматического сохранения для восстановления файла при ошибке;
- «+команда» — эта опция отвечает за выполнение команды после запуска редактора;
- +номер — перемещение курсора к определённой пользователем строке после запуска;
- +/шаблон — найти нужный участок в шаблоне и переместить курсор к его началу.
Командный режим
Все введённые символы редактор будет воспринимать как команды. При этом можно дублировать команды, используя цифры. К примеру, если перед введением буквы h нажать цифру 4, то курсор переместится влево не на 1 символ, а сразу на 4. Команды для перемещения по тексту:
- h или l — переместить курсор влево или вправо на 1 символ;
- j или k — переместить курсор на 1 строку вверх или вниз;
- w или b — переместить курсор на 1 слово влево или вправо;
- H — уйти в нижнюю часть экрана;
- G — пролистать до конца файла;
- zz/zt/zb — перемещать по экрану строку с курсором в середину/верх/низ;
- Ctrl+u или Ctrl+d — прокрутить область просмотра в верхнем или нижнем направлении на полстраницы.
Команды для вставки и копирования:
- p или P — вставить текст после курсора или перед ним;
- y — скопировать символ;
- yy или Y — скопировать целую строку.
Команды для отмены и удаления:
- u — отменить последнее действие;
- U — отменить последнее действие в указанной строке, где стоит курсор;
- d — удалить символ;
- dd — удалить строку целиком;
- D — удалить всё, что находится на участке от курсора до конца строки;
- dt — удалить часть текста, которая находится между местом курсора и следующим вхождением конкретного символа;
- ciw — удалить конкретное слово и сразу переключиться в режим ввода;
- C — удалить текст начиная от места курсора и до конца строки, затем снова автоматически происходит переход в режим ввода.
Некоторые команды не работают без указания дополнительных условий. Например, для удаления четырёх символов слева от курсора, нужно задать не просто d, а d4h, — тут мы добавили цифру (количество символов) и команду h (она перемещает курсор влево на 1 символ).
Ещё несколько полезных команд:
- v — выделить текст;
- ggvG= — выровнять текст во всём файле (переместиться в начало, переключиться на режим VISUAL, выделить весь текст документа, настроить отступ выделенных строк);
- . — повторить ещё раз последнюю команду;
- n или N — продолжить поиск вперёд или назад;
- ~ — переключить регистр у символа, который выделен или на котором находится курсор;
- /шаблон — искать вхождение;
- %s/шаблон/заменить — заменить первое слово вторым;
- ZZ — сохранить и выйти из редактора.
Ещё раз напомним — не нужно специально заучивать команды. И вообще, лучше посмотреть на них немного под другим углом, ведь они как раз хорошо показывают, что в программе работать удобно и быстро. И мышью пользоваться не обязательно.

Режим вставки (текстовый)
Чтобы перейти в этот режим из командного, нужно использовать команду i. Причём она не просто включает его, но и сразу вставляет текст в область до курсора. Любой введённый символ редактор не будет считает командой, а вставит его в текст. Чтобы обратно перейти в командный режим, нужно нажать клавишу «Esc».
В текстовый режим можно переключиться и с помощью других команд:
- I — вставить текст с начала строки;
- a — вставить текст в область после курсора;
- A — вставить текст в конец строки;
- r — заменить символ;
- R — заменить несколько символов;
- o — создать строку ниже строки с курсором;
- O — создать строку выше строки, где находится курсор.
В этом режиме тоже можно настроить программу под себя, чтобы выполнять задачи быстрее. Пользователь может задать полезные для себя сочетания клавиш. Например, сделать так, чтобы при нажатии открывающейся скобки сразу же добавлялась закрывающая скобка, а курсор помещался внутри между ними. Кстати, перечисленные команды также можно дублировать при помощи цифр.
Режим командной строки
Для включения этого режима пользователь, находясь в командном режиме, должен нажать двоеточие (:). Теперь нужно задать конкретную команду для поиска или замены — ввести её и потом нажать клавишу «Enter». Как только она выполнится, Vim автоматически вернётся в командный режим. В режиме работают следующие команды (в начале не забываем ставить двоеточие):
- e файл — создать новый файл;
- r файл — вставить содержимое этого файла в текущий файл;
- w — сохранить изменения;
- r! — задать выполнение команды оболочки и вставку полученного ответа в Vim;
- buffers — просмотреть открытые файлы;
- set переменная=значение — задать значение переменной для управления процессами редактора;
- q — выйти из Vim;
- q! — выйти из Vim, не сохранив изменения.
Визуальный режим
Этот режим похож на вышеописанный. С помощью команд, используемых вместе со стрелками и командами навигации, пользователь может выделять части текста и затем использовать для них команды командного режима. По сравнению с ним визуальный режим удобнее, потому что здесь разработчик сразу видит, к какому блоку текста применится команда.
Команды визуального режима:
- v — переход в посимвольный режим;
- V — переход в построчный режим;
- CTRL-V — переход в режим визуального блока.
Про клавишу «Caps Lock»
Обычно эта клавиша мешает, но её можно использовать для своих целей, так как она находится в удобной области клавиатуры. Речь идёт о превращении «Caps Lock» в клавишу «Esc». В редакторе Vim как раз такая клавиша нужна для того, чтобы переключать режимы.
Для разных ОС своя инструкция по превращению клавиши «Caps Lock» в «Esc»:
- Windows и WSL — понадобится программа uncap;
- MacOS — можно просто использовать системные настройки;
- Linux — здесь пользователям нужны StackOverflow и Google.
Для пользователей Линукс хорошо подходит setxkbmap — она позволяет сделать из «Caps Lock» ещё одну клавишу «Esc». Затем нужно просто включить автозапуск setxkbmap при запуске системы:
setxkbmap -option caps:escape
Немного о vimtutor
Для изучения программы в неё встроили справочную систему vimtutor. В принципе, её использовать нет необходимости, особенно если пользователь уже испытал редактор на практике. Но заглянуть туда можно.
Для запуска справки нужно включить командный режим и набрать:
Затем нужно будет нажать :q для выхода из справочника.
Примечание. Пользователям Windows стоит пользоваться специальной подсистемой для Линукса — WSL (Windows Subsystem for Linux). Она хорошо подходит не только для изучения vimtutor, но и для дальнейшей работы с редактором.
Практика в сочетании с vimtutor помогают пользователям быстро освоить этот не совсем стандартный редактор. Он может показаться несколько непростым тем, кто привык работать в оконном режиме, но благодаря ежедневному использованию Vim каждый сможет освоить его за считанные недели.
Запоминаем главное
Vim помогает работать быстрее и не использовать мышь или трекпад.
Лучше всего изучать Vim на практике, применяя команды без их заучивания.
В Vim есть 4 основных режима — командный, текстовый, режим командной строки и визуальный.
Клавишу «Caps Lock» можно преобразовать в клавишу «Esc» и использовать её для переключения режимов.
Можно использовать встроенный в редактор справочник vimtutor для более детального изучения программы.
Основы работы с редактором VIM
VIM - это свободный текстовый редактор, возможности которого во многом превосходят возможности обычного редактора. Однако есть минус - интерфейс редактора не интуитивен, поэтому для работы с ним нужно некоторое время потратить на изучение команд, горячих клавиш и т.п.
VIM имеет три режима работы:
- командный
- режим редактирования
- визуальный режим
Для перехода в командный режим требуется нажатие Esc. Все команды в VIM вводятся с символа двоеточия - ":" (без кавычек). Для перехода в визуальный режим требуется нажатие Ctrl+V.
В данной статье мы рассмотрим основы работы с редактором VIM и перечислим распространённые команды.
Использование редактора VIM
Для того, чтобы отредактировать или просмотреть файл, вводим в командной строке:
kondr ~ $ vim test.txt
Перед нами откроется редактор VIM, как показано на рисунке:

Меняем содержимое файла на произвольное.
После внесения изменений нажимаем "ESC" для выхода в "командный режим", вводим ":" (двоеточие), вводим "wq" (write-quit) - для сохранения изменений и выхода; "q!" - для выхода без сохранения, и нажимаем "Enter".

Теперь Вы можете работать с файлом, изменять и сохранять изменения. Дальше перечислим другие команды для работы с файлами и текстом.
Работа с файлами
:q - закрыть файл, если не требует сохранения, т.е. в файле не было изменений. В противном случае VIM выдаст сообщение об ошибке, как показано на рисунке:

:q! - закрыть файл без сохранения;
:qa! - закрыть все файлы без сохранения;
:wq - закрыть и сохранить файл;
:wqa - закрыть все файлы с сохранением.
Работа с текстом
Перемещение по тексту
VIM обладает большими возможностями для ускорения работы с текстом и имеет большое количество команд для перемещения по тексту.
Для перемещения можно использовать стрелочки, а также h (Влево), l (Вправо), j (Вниз), k (Вверх).
Другие команды для перемещения по тексту:
|, 0, home — в начало строки;
^ — на первый непустой символ в строке;
$, end — в конец строки;
m — на половину ширины экрана;
g — на нижнюю строку;
e — до конца слова;
- — на строку вверх и на первый непустой символ;
+, Enter — на строку вниз и на первый непустой символ;
G — на последнюю строку;
H — на первую строку экрана;
M — на среднюю строку экрана;
L — на последнюю строку экрана;
w — на слово вперед;
b — на слово назад;
( — на предложение назад (до точки);
) — на предложение вперед (до точки);
— на абзац назад (до пустой строки);
> — на абзац вперед (до пустой строки);
:ju — список переходов.
Редактирование текста
VIM также имеет большое количество возможностей для быстрого редактирования.
Del, x - удаление символа под курсором;
X - удаление символа перед курсором;
u, :u — отмена последнего действия;
U — отменить все изменения, повлиявшие на текущую строку;
~ — перевести в верхний или нижний регистр в зависимости от текущего символа под курсором;
C — удалить от курсора и до конца строки с переходом в режим ввода;
D — удалить от текущего символа до конца строки;
dd — вырезать строку, на которой стоит курсор. Перед любой командой можно ввести числовой модификатор, который укажет сколько раз выполнить команду. Например: 3dd - удалит три строки начиная с текущей;
yy — копирует строку. Также можно использовать числовой модификатор;
p — вставить после текущей строки;
P — вставить перед текущей строкой;
— сдвиг влево текущей строки;
>> — сдвиг вправо текущей строки;
J — объединение текущей строки с последующей.
Для программистов
:set number — включить отображение номеров строк;
:set nonumber — отключить отображение номеров строк;
= — расстановка отступов для языка программирования С.
Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел "Помощь и поддержка".