Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя FreeBSD Описание Редактора VI

Описание Редактора VI

Описание.
Редактор vi - один из первых редакторов, разработанных для операционных систем UNIX. Он и по сей день остается одним из самых мощных редакторов и стандартно поставляется практически с каждой операционной системой типа UNIX. В нем отсутствует меню, и все действия осуществляются с помощью клавиш и клавиатурных комбинаций.

Редактор vi работает в двух режимах - командном и набора текстов . Сразу после запуска vi находится в командном режиме. В этом режиме нажатия клавиш интерпретируются как команды редактору, а не как текст, вводимый в документ.

Чтобы переключиться в режим ввода текста, необходимо нажать одну из клавиш: a, i или o .
Клавиша a означает append (присоединить). В этом режиме вводимый текст вставляется после символа, на котором находится курсор.

Клавиша i означает insert (вставить). В этом режиме вводимый текст вставляется перед символом, на котором находится курсор.

И, наконец, клавиша o означает open (открыть). Это приводит к тому, что после строки, на которой находится курсор, в текст вставляется новая строка. Затем курсор перемещается на новую строку, и редактор переходит в режим insert, разрешая ввод текста на новой строке.

Имеется также несколько других команд для установки режима ввода текста, которые применяются не так часто. Это команда O , которая добавляет пустую строку над текущей строкой ; и команда A , которая начинает вставлять текст в конце текущей строки .

Из режима ввода текста в командный режим можно вернуться нажатием клавиши Esc . При переходе в командный режим редактор vi по умолчанию выдает звуковой сигнал.

Перемещение по тексту в редакторе vi.

Перемещаться по тексту в режиме ввода текста можно, как правило, с помощью курсорных клавиш, или клавиш Page Up / Page Down . Однако на терминале это не всегда функционирует. Кроме того, на некоторых терминалах эти клавиши могут отсутствовать. На этот случай имеются другие клавиши, позволяющие перемещаться по документу в командном режиме.

Чтобы воспользоваться этими клавишами перемещения, нажмите клавишу Escape для перехода в командный режим. В этом режиме можно пользоваться клавишами h, j, k и l для перемещения курсора влево, вниз, вверх и вправо. Вот несколько советов, которые помогут запомнить их назначение:

l - крайняя справа и поэтому перемещает курсор вправо.
h - крайняя слева и перемещает курсор влево
j - немного похожа на стрелку, направленную вниз. Соответственно, она перемещает курсор вниз
k - перемещает курсор вверх.

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

Обратите внимание, что с каждой командой этой таблицы по умолчанию используется число 1. Клавиша j перемещает вниз на 1 строку, клавиша k перемещает его вверх на 1 строку, и так далее. Все эти команды можно модифицировать, вводя перед ними число. Так, следующая команда перемещает вниз не на одну строку, а на пять: 5j

Следующая команда перемещает курсор на 75-ю строку файла, редактируемого в данный момент:75G

А вот команда, которая перемещает курсор на пятую снизу строку экрана:5L

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

Прочие клавиши перемещения.
Помимо описанных выше клавиш перемещения курсора, имеется еще несколько клавиатурных комбинаций, выполняющих прокрутку текста на экране (см. ниже):

Команды редактирования текста.

В редакторе vi клавиши Backspace и Delete не выполняют тех действий, которых от них можно ожидать. Для удаления текста и тому подобного придется воспользоваться различными клавишами в командном режиме редактора.

Операции над файлами и выход из редактора vi
Это операции загрузки и сохранения файлов в редакторе vi.
:w -  записать изменения в файл.
:e - загрузить файл для редактирования.
:q - выход из VI .
:wq   - сохранить файл и выйти.
:q! -  выйти из редактора без сохранения.

Поиск в тексте и замена текста в редакторе vi.
/
-   начало шаблона прямого поиска в командном режиме. Например /ufs <ENTER>.
? - начало шаблона обратного поиска в командном режиме.
dd - удаление строки.
yy - копирование текста во внутренний буфер.
p - вставка текста из буфера.

Копирование, вырезание и вставка текста в редакторе vi:

Текст из буфера можно вставить на любое место документа, перемещая на требуемое место курсор и применяя команду р или Р. Команда р вставляет текст в документ после курсора. Команда Р вставляет текст перед курсором. Текст продолжает оставаться в буфере и после того, как вы вставите его в документ. Поэтому можно снова использовать эти команды для вставки текста в документ в других местах.

Предостережение
Редактор vi хранит в буфере текст только самой последней операции копирования текста в буфер или удаления. Другими словами, если Вы выполнили команду dd, чтобы удалить строку текста, а потом выполнили команду yy, чтобы скопировать строку текста, то в буфере текст, с которым оперировала команда dd, будет замещен текстом операции yy. Это означает, что текст из операции dd будет потерян, т.е. операцию удаления отменить будет невозможно.

Домашняя FreeBSD Описание Редактора VI