Текстовый редактор vi
Перед началом использования нужно понять что в этом редакторе есть два режима работы, между которыми нужно постоянно переключатся:
1) Режим ввода — переход осуществляется нажатием буквы «i»
2) Командный режим — переход осуществляется нажатием «esc»
Если нужно вводить, изменить, редактировать текст — переходите в режим ввожда
Если нужно сохранить, выйти с редактора или файла — переходите в командный режим
Последовательность действия для создания или редактирования файла в vi
Для начала создадим файл или откроем существующий:
# vi filename.txt
Далее для того чтобы иметь возможность внутри файла что-то писать переходим в режим редактирования, нажимаем на клавиатуре латинскую букву «i».
О том что мы перешли в данный режим покажет надпись внизу — INSERT —

Навигация по файлу делается при помощи стрелок на клавиатуре.
После того как мы отредактировали текст, сохраним файл. Для этого переходим в командный режим нажатием «esc» и вводим команду :w
Главные команды текстового редактора vi
В командном режиме (esc) вводим:
# :w — сохранить файл
# :10 — перейти на 10 строку в файле
# :q — выйти с редактора
# :q! — выйти с редактора без сохранения информации
# :wq — сохранить и выйти с редактора
# ZZ — быстрая комбинация клавиш, сохранить и выйти с редактора
Краткий видео обзор по редактору vi можно посмотреть тут:
Решения по аренде выделенных серверов
На нашем сайте можно приобрести современные серверы в Нидерландах, Германии, Великобритании, Франции, Канаде и США.
Основные команды текстового редактора 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
Работа с редактором vi
Текстовым редактором (text editor) называют программу, которая предназначена для редактирования (составления и изменения) файлов, содержащих только текст, например: письмо, программа на языке C, системный конфигурационный файл. При том, что имеется много различных редакторов для системы Linux, единственный, чьё присутствие будет гарантировано в любой системе UNIX или Linux═ — это vi (visual editor). Редактор vi не является самым простым в использовании, и его интерфейс не очень понятен сам по себе. Однако ввиду своей распространённости, а отчасти и потому, что владение им в некоторых ситуациях необходимо, ему посвящается внимание в этой книге.
Выбор текстового редактора обычно является вопросом индивидуального вкуса. Многие пользователи предпочитают пышный, мощный и наделённый подсказками редактор emacs. Этот редактор имеет больше функций, чем любая другая программа в мире UNIX. К примеру, в редакторе emacs имеется собственный встроенный диалект языка программирования LISP. Кроме того, у этого редактора имеется множество расширений (одно из них═ — программа искусственного интеллекта типа программы Eliza). Однако, поскольку сам редактор и файлы, которые его поддерживают, сравнительно велики, этот редактор может не быть установлен на некоторых системах. Напротив, редактор vi является небольшим и мощным, однако использовать его сложнее. Тем не менее, при знакомстве с редактором vi он в действительности оказывается очень простым.
В этом разделе даётся лишь введение в vi ═ — мы будем обсуждать не все его функции, а лишь нужные для того, чтобы начать работать в нем. Дополнительную информацию можно получить из экранной документации к команде vi .
Основные понятия
В любой момент при работе в редакторе vi вы находитесь в одном из трёх режимов редактора: командный режим (command mode), режим ввода (insert mode) и режим последней строки (last line mode).
При запуске редактора vi вы оказываетесь в командном режиме. В этом режиме можно давать команды для редактирования файлов или перейти в другой режим. Например, вводя x в командном режиме мы удаляем символ, на который указывает курсор. Клавиши-стрелки перемещают курсор по редактируемому файлу. Как правило, команды, используемые в командном режиме, состоят из одного или двух символов.
Основной ввод и редактирование текста осуществляется в режиме ввода. При использовании редактора vi основное время, скорее всего, будет проводиться именно в этом режиме. Переход в режим ввода из командного режима осуществляется командой i (от слова insert). Находясь в режиме ввода, можно вводить текст в то место, куда указывает курсор. Выход из режима ввода в командный режим осуществляется клавишей Esc .
Режим последней строки═ — это специальный режим, в котором редактору даются сложные команды. При вводе этих команд они отображаются в последней строке экрана (отсюда пошло название режима). Например, если ввести в командном режиме команду : , то осуществится переход в режим последней строки, и можно будет вводить такие команды, как wq (записать файл и покинуть редактор vi ) или q! (выйти из редактора vi без сохранения изменений). В режиме последней строки обычно вводятся команды, название которых состоит из нескольких символов. В этом режиме в последнюю строку вводится команда, после чего нажимается клавиша Enter , и команда исполняется.
Запуск редактора vi
Наилучшим способом уяснить для себя все концепции редактора vi будет запустить его и отредактировать в нем некоторый файл. В приводимых ниже « экранчиках » будет показано всего несколько строк текста, как будто текстовый экран имеет по высоте всего 6 строк вместо 24. Синтаксис редактора vi таков:
vi filename
где filename — имя файла, который надо редактировать.
Запустим редактор vi и создадим новый файл по имени test командой
/home/larry# vi test
На экране будет примерно следующая картинка:
_ ~ ~ ~ ~ ~ "test" [New file]
Колонка символов ~ обозначает пустые строки, иначе говоря, указывает, что мы находимся в конце файла. Символ _ обозначает курсор.
Ввод текста
Редактор vi сейчас находится в командном режиме. Нажмём клавишу i , и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:
Now is the time for all good men to come to the meeting. ~ ~ ~ ~ ~
Введите любое количество строк, после каждой нажимая клавишу Enter . Исправлять опечатки можно с помощью клавиши Backspace. Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc .
В командном режиме для движения по файлу можно использовать клавиши-стрелки. Если в файле всего одна строка, то при попытке нажать клавишу со стрелкой вверх либо вниз редактор, возможно, будет подавать звуковой сигнал.
Помимо команды i , есть ещё несколько способов вставить текст. Так, команда a начинает вставлять текст после текущего положения курсора, а не прямо в текущую. Например, приведём с помощью клавиш-стрелок курсор к пробелу, разделяющему слова good и men:
Now is the time for all good men to come to the meeting. ~ ~ ~ ~ ~
Нажмём теперь клавишу a (редактор перейдёт в режим ввода) и введём wo, после чего нажмём клавишу Esc и вернёмся в командный режим. На экране будет следующее:
Now is the time for all good women to come to the meeting. ~ ~ ~ ~ ~
Для того, чтобы начать вводить текст со следующей строки, используем команду o . Нажмём эту клавишу и введём одну-две строки текста:
Now is the time for all good women to come to the meeting. Afterwards, we'll go out for pizza and beer. ~ ~ ~ ~
Удаление текста
В командном режиме нажатие клавиши x удаляет символ, на который указывает курсор. Если нажать клавишу x пять раз, то на экране останется:
Now is the time for all good women to come to the meeting. Afterwards, we'll go out for pizza and ~ ~ ~ ~
Теперь нажмём клавишу a и введём некоторый текст, после чего опять нажмём клавишу Esc :
Now is the time for all good women to come to the meeting. Afterwards, we'll go out for pizza and Diet Coke. ~ ~ ~ ~
Можно удалять целые строки командой dd (т. е. нажав клавишу d два раза подряд). Если курсор стоит на второй строке, и вы введёте команду dd , на экране останется следующее:
Now is the time for all good women to come to the meeting. ~ ~ ~ ~ ~
Для того, чтобы удалить слово, на которое показывает курсор, можно использовать команду dw . Подведите курсор к слову good и введите dw . Результат будет следующим:
Now is the time for all women to come to the meeting. ~ ~ ~ ~ ~
Изменение текста
Отдельные части текста можно заменять на другие; для этого используется команда R . Подведите курсор к первому символу в слове meeting, нажмите клавишу R и введите слово session.
Now is the time for all women to come to the session. ~ ~ ~ ~
Действие команды R напоминает действие команд i и a , однако при команде R новый текст не вставляется, а стирает старый.
Команда r заменяет один символ, а именно тот, на который указывает курсор. Например, подведём курсор к началу слова Now, введём команду r и за ней букву C. На экране возникнет следующее:
Cow is the time for all women to come to the session. ~ ~ ~ ~
С помощью команды ~ можно поменять регистр буквы, на которую указывает курсор (с верхнего на нижний и наоборот). Например, если подвести курсор к букве o в слове Cow и нажимать клавишу ~ , то в конце концов возникнет:
COW IS THE TIME FOR ALL WOMEN TO COME TO THE SESSION.
Команды для движения курсора
Вы уже знаете, что передвигаться по экрану (и по документу) можно с помощью клавиш-стрелок. В дополнение можно для движения курсора использовать клавиши h , j , k и l . Они будут сдвигать курсор соответственно влево, вниз, вверх и вправо. Этими командами можно воспользоваться, если (по какой-нибудь причине) клавиши-стрелки действуют неправильно. Команда w перемещает курсор на начало следующего слова; команда b перемещает курсор на начало предыдущего слова.
Команда 0 (клавиша ноль) перемещает курсор на начало текущей строки, а команда $ перемещает курсор в её конец.
При редактировании больших файлов вам, возможно, захочется « перелистывать » целые экраны вперёд (т. е. вниз) и назад (вверх); для этого используются команды соответственно Ctrl - F и Ctrl - B .
Для того, чтобы переместить курсор в конец файла, используется команда G . Можно также поместить курсор на строку с данным номером; например, команда 10G поместит курсор на строку с номером 10. Для того, чтобы переместить курсор в начало файла, можно использовать команду 1G .
Команды движения курсора можно совмещать с другими командами, например, с командами удаления текста. Например, команда d$ удалит все, что находится между текущим положением курсора и концом строки; команда dG удалит все, что находится между текущим положением курсора и концом файла и т. д.
Сохранение изменений и выход из редактора vi
Для выхода из редактора vi без сохранения изменений, сделанных в файле, используется команда :q! . Когда вводится команда : , курсор переходит на последнюю строку экрана, и таким образом редактор оказывается в режиме последней строки:
COW IS THE TIME FOR ALL WOMEN TO COME TO THE SESSION. ~ ~ ~ :_
В этом режиме возможно вводить некоторые расширенные команды. Одна из них — команда q! , которой завершается работа с редактором vi без сохранения сделанных изменений. Команда :wq сначала сохраняет файл со сделанными изменениями, а затем выходит из редактора vi . Команда ZZ (выданная в командном режиме, т. е. без введения команды : ) эквивалентна команде :wq . Если файл со времени последней модификации не изменялся, то время создания файла также не будет изменено. Напомним, что в режиме последней строки введение команды завершается клавишей Enter .
Чтобы сохранить файл, но не выходить из редактора vi , используется команда :w .
Переключение между файлами
Для того, чтобы приступить к редактированию другого файла, используется команда :e . Например, чтобы прекратить редактирование файла test и вместо этого начать редактирование файла foo, надо ввести команду
COW IS THE TIME FOR ALL WOMEN TO COME TO THE SESSION. ~ ~ ~ :e foo_
Если команда :e будет введена без предварительного сохранения файла на диск, будет выдано сообщение об ошибке:
No write since last change (":edit!" overrides)
Это сообщение означает, что после последней модификации не было сохранения файла, и редактор vi отказывается приступить к редактированию другого файла. Сейчас можно либо сохранить сделанные изменения командой :w и затем вводить команду :e , либо использовать команду
COW IS THE TIME FOR ALL WOMEN TO COME TO THE SESSION. ~ ~ ~ :e! foo_
Символ ! в последней команде сообщает редактору, что вы действительно хотите приступить к редактированию другого файла, не сохраняя изменения в прежнем.
Вставка содержимого других файлов
Включить в текущий файл содержимое другого файла можно командой :r . Например, команда
:r foo.txt
вставит содержимое файла foo.txt в текст начиная с текущего положения курсора.
Запуск команд оболочки
Из редактора vi можно выполнять команды оболочки. Команда :r! работает аналогично команде :r , но вместо содержимого другого файла она вставляет в редактируемый файл выдачу некоторой команды. Например, введя команду
:r! ls -F
мы получим следующее:
COW IS THE TIME FOR ALL WOMEN TO COME TO THE SESSION. letters/ misc/ papers/
Можно также « временно выйти » из редактора, запустить команду и затем вернуться обратно. Например, если будет введена команда
:! ls -F
то команда ls -F будет исполнена, её результат будет выдан на экран, но выдача вставлена в файл не будет. Если используется команда
:shell
то редактор vi запускает сеанс (instance) командной оболочки, прерывая редактирование на время исполнения команд. Для выхода из оболочки и возвращения к редактированию надо ввести команду exit .
Помощь в работе с редактором vi
Как и в случае с любой программой в системе Linux в первую очередь следует обратиться к экранной документации к программе vi . Следует знать также, что редактор vi является пользовательским интерфейсом редактора ex , который выполняет многие из команд режима последней строки редактора vi . Поэтому, в дополнение к сказанному выше, можно также читать экранную документацию к редактору ex . Обычно (кроме режимов восстановления после системных сбоев) вам доступна более современная и улучшенная версия vi — vim , который имеет аналогичный vi интерфейс, поддерживает все команды vi и кроме того — массу дополнительных возможностей. Подробное руководство по vim можно получить, запустив этот редактор и отдав команду :help .
Работа с редактором Vim — функции и команды
Итак, вам срочно понадобилось отредактировать какой-либо конфигурационный файл и под рукой нет знакомых консольных текстовых редакторов, только Vi (Vim)? Предлагаем следующий алгоритм действий, который выручит вас в данной ситуации:
Быстрый старт
Открываем файл в текстовом редакторе командой vi /путь/имя_файла, например:
sudo vi /etc/netplan/99-netcfg-vmware.yaml
Команда sudo используется в том случае, если для открытия файла нужны повышенные привилегии (например, редактирование системных конфигурационных файлов). Указанный файл откроется в текстовом редакторе:

Перемещаем курсор по тексту с помощью стрелок или клавиш h (влево), l (вправо), j (вниз), k (вверх) до нужного места в тексте.
Переводим открытый файл в режим редактирования текста нажатием клавиши i (раскладка клавиатуры должна быть англоязычной). В результате в нижней части экрана появится индикация режима работы — INSERT:

Вносим в текст необходимые корректировки.
Выходим из режима редактирования нажатием клавиши Esc — индикатор INSERT в нижней части экрана должен исчезнуть.
Теперь необходимо закрыть файл, сохранив внесенные изменения. Для этого набираем:
Данный набор символов также должен отобразиться в нижней части окна. Буква w помогает сохранить файл на диск (write), q — завершить работу редактора (quit):

Если же что-то пошло не так и вам необходимо закрыть редактор не сохраняя изменения в файле, просто введите команду:
Дальше — больше
Приведенной выше информации вполне достаточно, чтобы открывать, редактировать и сохранять файлы в текстовом редакторе Vim, однако у него есть возможности, которые могут существенно упростить и ускорить работу. Стоит начать с пояснения: Vi был одним из первых визуальных текстовых редакторов, однако начиная с определенной версии программный продукт стал доступен только под коммерческой лицензией. Энтузиасты начали разрабатывать свои аналоги этого текстового редактора, одним из которых является Vim (сокращение от Vi Improved — Vi усовершенствованный). Vim получил широкое распространение в *nix-дистрибутивах и при запуске команды vi в консоли вероятнее всего откроется именно он.
Прежде всего нужно понять, что Vim может работать в нескольких режимах, каждый из которых обладает своими особенностями и набором поддерживаемых функций. Сразу после запуска редактора вы окажетесь в обычном режиме (normal). Здесь можно не только перемещать курсор по тексту, но и выделять/удалять/копировать/вставлять как отдельные символы, так и целые блоки текста. Эти задачи выполняются нажатием соответствующих букв и цифр (причем регистр букв имеет значение), точка отсчета — текущее положение курсора. Рассмотрим навигацию по файлу:
- h — смещение курсора на один символ влево;
- j — смещение курсора на один символ вниз;
- k – смещение курсора на один символ вверх;
- l – смещение курсора на один символ вправо;
- w – смещение курсора в начало следующего слова в данной строке;
- b – смещение курсора в начало предыдущего слова в данной строке;
- G – переместить курсор в конец файла;
- gg – вернуться в начало файла.
Действия навигации также можно совмещать с цифрами, например, комбинация 3w сместит курсор вперед на три слова, а 5k на пять строк вверх.
Часто используемые операции c текстом:
- x — удалить символ под курсором;
- d — удалить символы/строки;
- dd — удалить строку целиком;
- D — удалить символы от текущего положения курсора до конца строки;
- v — включить режим выделения текста;
- y — скопировать символы/строки;
- yy — скопировать строку целиком;
- p — вставить символы/строки;
- u — отменить последнее действие.
Функции удаления и копирования требуют дополнительного пояснения, ведь при нажатии d или y вроде бы ничего не происходит. Дело в том, что редактор ожидает дальнейших указаний — сколько строк символов нужно удалить/скопировать и в каком направлении от текущего положения курсора вести отсчет. Чтобы удалить пять символов вправо от курсора, нужно последовательно нажать d5l, чтобы скопировать три строки, следующие после курсора — y5j. Если имеется выделенный текст, для его копирования достаточно нажать y.
Имеется в Vim и функция поиска:
- /шаблон — все вхождения набора символов, указанного после / (слэша) будут подсвечены в тексте;
- n — сместить курсор к следующему вхождению;
- N — сместить курсор к предыдущему вхождению.
Другой режим работы Vim — режим редактирования. Переключиться в него можно несколькими способами:
- i — режим вставки (INSERT), ввод начинается с позиции курсора;
- a — режим вставки (INSERT), ввод начинается с позиции, следующей за курсором;
- A — режим вставки (INSERT), курсор перемещается в конец текущей строки;
- R — режим замены (REPLACE), все вводимые символы будут последовательно заменять находящиеся под курсором.
Если нужно заменить всего один символ, находящийся под курсором, достаточно нажать r и нужный символ — замена будет произведена без перехода в режим редактирования. Внизу экрана появляется соответствующий индикатор режима — INSERT или REPLACE. Вернутся в общий режим можно нажатием кнопки Esc (индикатор должен пропасть).
Еще один режим работы Vim — командный. Переход в него осуществляется из общего режима нажатием : (двоеточия). Соответствующий индикатор появляется в нижнем левом углу окна, после чего можно вводить команды и их сочетания.
- :q — выйти из редактора;
- :q! — выйти из редактора без сохранения изменений в файле;
- :w — сохранить изменения в файл;
- :wq — сохранить изменения и закрыть редактор;
- :r имя_файла — добавить содержимое указанного файла в редактируемый;
- :r! команда_консоли — выполнить команду и добавить ее вывод в файл.
И еще кое-что
В данной статье рассмотрены часто употребляемые функции Vim, которых на самом деле гораздо больше. Чтобы закрепить навыки работы с редактором, освежить в памяти его возможности или узнать что-то новое, набираем в консоли команду vimtutor и проходим курс обучения (vimtutor ru — если предпочтителен русский язык):