ПРИНЦИПЫ РАБОТЫ И ОСНОВНЫЕ КОМАНДЫ

ТЕКСТОВОГО РЕДАКТОРА VI

 

В составе ОС LINUX обычно поставляются текстовые редакторы: ed - интерактивный строковый редактор, vi и ех - его расширенные версии. Под именем vi (visual interpretator - визуальный интерпретатор) эта программа работает как экранно-ориентированный редактор, а под именем ех - как строчно-ориентированный.

Для вызова редактора vi используется команда vi:

 

vi [+line] [-R] [-х] [-r] [-t] file...

 

где +line - номер строки, с которой Вы хотите начать редактирование; R - читать; это означает, что файл можно только просматривать, но не модифицировать; х - расшифровывающее чтение, т.е. просмотр файла, зашифрованного командой сryрt, или редактирование обычного текста с последующим шифрованием по мере записи на диск; r - восстановление файла после системного или программного крахов; t - вызов для редактирования файла, который содержит названный (в поле filе команды vi) тег (tag). Тег - это список символов, с которых начинается раздел в текстовом файле. Теги разных файлов объединяют в один файл - файл тегов с именем tags. Опцией -t обеспечивается вызов файла tags, который содержит названный тег и имя редактируемого файла, в котором тег находится. Команду вызова редактора можно использовать в форме vi +/word/file - начало редактирования файла file с первой строки, которая содержит слово word, или в формеvi +file - начало редактирования файла с последней строки.

 

 

Структура редактора

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

 

В простейшем случае для вызова редактора нужно ввести команду vi техт и нажать клавишу Enter. На экране появится:

$ vi tехt

_

~

.

.

"text"

Строка начинается знаком ~, знак _ определяет положение курсора. В данный момент пользователь находится в командном режиме vi. Перейти в режим ввода текста можно с помощью команд добавления текста, которые не отображаются на экране после их ввода:

а/А - ввод текста после курсора/после конца строки (аррend - присоединение);

i/I - вставка текста перед курсором/с 1-й позиции данной строки (insert - вставить);

о/О - образовать пустую строку ниже имеющейся / выше имеющейся.

Для выполнения команд (например, записи в файл, перемещения курсора) после введения текста или его части нужно перейти снова в командный режим vi, нажав клавишу Еsс. После вызова vi нажмите клавишу а (ввод текста после курсора), не нажимая после этого клавишуEnter, и Вы попадете в режим ввода текста. Вводите текст, нажимая клавишу Enter в конце каждой строки (курсор в режиме ввода текста можно перемещать вправо, используя клавишу "пробел", и влево, используя клавишу ВаскSрасе.

Переход в командный режим vi. Для перехода в командный режим vi нужно нажать клавишу Еsс. Теперь редактор находится в командном режиме vi. В этом режиме выполняются следующие команды:

. - повторение последней команды;

u - аннулирование действия последней команды;

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

Переход в режим ex. Чтобы перейти к группе команд редактора ех (под именем ех редактор работает как строчно-ориентированный), нужно ввести символ : (двоеточие), команду и нажать <Enter> или Еsс. Команды редактора ех начинаются с символа : и отображаются в нижней части экрана. После нажатия клавиши Еsс или <Enter> происходит возврат (назад) в командный режим. Команды режима ех:

:w - запись текста в файл;

:r - чтение файла;

:е - редактирование нового файла;

:е! - выход без сохранения данного файла и редактирование нового;

:n - авторедактирование;

:wq - запись текста и выход из редактора;

:x - запись текста только при наличии в нем изменений;

:q! - оставить текст в рабочей области и закончить редактирование;

:аb - присвоение сокращений;

:mар - определение ключей;

:set - изменение установочных режимов;

:s - выполнение замещений.

Переход в Shell. Редактор позволяет в процессе работы с ним выполнять команды ОС LINUX. Для этого нужно перейти в командный режим Shell с помощью команды !.

Рассмотрим пример. Определите текущее время командой date (вывод и установка даты) :! date. Здесь символ : означает переход в командный режим ех, а символ ! дает доступ к Shell. Для продолжительной работы с командами Shell можно вызвать командой :bash и после окончания работы вернуться в редактор vi, набрав СТRL-D.

Для возврата в командный режим vi нажмите клавишу Enter.