Редактор vi. Краткая инструкция

Описывается редактор vi, дается краткое описание, приводятся основные режимы и команды. Дается несколько полезных советов по использованию. The same in English

Редактор vi (visual editor – визуальный редактор) – универсальный полноэкранный текстовый редактор в ОС Linux (UNIX).  Он присутствует во всех дистрибутивах и версиях.

Редактор vi необходим нам для простейшего редактирования текстовых файлов на сервере, и его освоение для этой цели займет всего несколько минут – время прочтения этой статьи. В глубины залезать не будем.

Редактор vi имеет три режима:

  • командный режим – в этом режиме можно перемещаться по файлу, вводить команды для редактирования текста или перейти в другой режим. Клавиши-стрелки перемещают курсор по редактируемому файлу. Команды, используемые в командном режиме, состоят из одного или двух строчных латинских символов.
  • режим ввода – в этом режиме все, что набирается на клавиатуре отображается на экране терминала в месте, куда указывает курсор и запоминается в буфере редактора. Никакие команды редактирования, кроме перемещения по тексту при помощи стрелочек не работают. Переход в режим ввода из командного режима осуществляется командой i (от слова insert), выход – клавишей «esc».
  • режим командной строки позволяет выполнять более сложные команды, такие как поиск или управление файлами. Переход в режим командной строки осуществляется из командного режима нажатием клавиши двоеточия «:», после чего все вводимые символы отображаются в самой нижней строке экрана.

Пока все это звучит просто устрашающе. На самом деле не так страшен vi, как кажется. Все просто.

Запуск редактора. Набираем:

vi имяфайла

для редактирования вводится имя существующего файла, для создания нового, соответственно не существующего. После запуска редактора находимся в командном режиме.

Редактор vi. Команды командного режима кратко:

Все команды вводятся только латинскими буквами.

1. Перемещение курсора на экране:

  • стрелочки или h,j,k,l на один символ (одну строку);
  • 0 (ноль) в начало строки, $ в конец строки;
  • w в начало следующего слова, b в начало предыдущего слова;
  • ctrl+f на экран вниз, ctrl+b на экран вверх;
  • G в начало текста, shift+G в конец текста

Числовой коэффициент перед командой перемещения повторяет ее заданное число раз. Например, команда «j» переводит курсор на одну строчку вниз. Команда «5j» переводит курсор на пять строчек вниз. и т. д.

2. Редактирование.

  • d вырезание текста в буфер. Соответственно d$ вырезание от курсора и до конца строки, d0 (ноль) вырезание от начала строки и до курсора, dd – вырезание всей строки, 5dd верезание пяти строк вниз, начиная с той, где находится курсор;
  • y копирование текста в буфер. Соответственно, y$ копирование от курсора и до конца строки, y0 (ноль) копирование от начала строки и до курсора, yy – копирование всей строки, 5yy копирование пяти строк вниз, начиная с той, где находится курсор;
  • p вставка текста из буфера. Если в буфере часть строки, то она вставляется после курсора, если целая строка или несколько строк, то под строкой, где находится курсор
  • u отмена последней операции редактирования. Можно нажимать команду до тех пор, пока не будут отменено все редактирования после открытия файла, о чем редактор Вам сообщит;
  • /выражение выполняет поиск выражения по тексту сверху вниз. Выражение вводится сразу за знаком «/» и отображается на самой нижней строке экрана, например /test будет искать в тексте «test». Удобно вводить выражение копипастом. Если необходимо повторить поиск, то достаточно набрать просто «/».

Команды командной строки

Командная строка состоит из двоеточия (определитель командной строки) нескольких латинских букв или символов. Самые нужные из них:

  • w записывает файл на диск. При этом старая версия файла заменяется новой. Если старая версия необходима, то перед началом редактирования ее надо сохранить куда-либо или с измененным именем (например, я добавляю расширение .orig – оригинал).
  • q закрывает редактор vi. Если были произведены какие-либо изменения, то, чтобы закрыть редактор и не сохранять изменения, необходимо набрать «q!»;
  • set nu – включить нумерацию строк;
  • set nonu – выключить нумерацию строк

В принципе, все, что может потребоваться для внесения небольших изменений в текстовые файлы на сервере..

Добрые советы:

Если надо создать новый файл, то просто после запуска нажать команду «i» для перехода в режим ввода, копипастом ввести необходимый текст, после чего  нажать клавишу «esc» для возврата в командный режим и «:wq» для записи файла и выхода.

Если надо провести небольшие изменения в большом файле, то после запуска редактора лучше пользоваться командой поиска чего-либо в тех местах текста, где надо произвести изменения.

Если надо произвести несколько изменений текста, то лучше открыть несколько окон терминала, в одном из которых будем последовательно вносить изменения не выходя из редактора vi и сохраняя каждое при помощи команды «:w». В это время в других открытых окнах проверять корректность внесения изменений. Что это дает? Если мы не закрывали редактор vi, то всегда можем отменить изменения при помощи команды «u» и вернуться к исходному тексту.

Если необходимо провести существенное изменение текста, то проще перенести файл на рабочую станцию при помощи sftp (см. “Клиент sftp. Краткое описание“, “PSFTP –  SFTP клиент PuTTY для Windows” или “Клиент SSH для Windows Bitvise Tunnelier” в зависимости от операционной системы и вкусов пользователя), отредактировать любимым редактором и перенести обратно на сервер опять при помощи sftp.

В статье я описал основные команды текстового редактора vi, необходимые для внесения небольших изменений в текстовые файлы на сервере.

No comments yet.

Leave a Reply