Если файл существует, то на экране отобразится начало текста файла.

Для того чтобы выводилась информация ___________об установленном режиме, необходимо

перейти в командный режим (нажать клавишу <Esc>) и ввести:

:set showmode

В редакторе vedit эта функция устанавливается автоматически.

Редактор vi создает временную копию файла. Измененный текст, который можно

видеть на экране, будет записан в указанный файл только при выполнении команды

сохранения файла. Однако можно завершить работу и выйти из редактора без сохранения

изменений в тексте файла.

Для выполнения функций сохранения текста и выхода из редактора, необходимо

перейти из режима ввода текста в командный режим (нажать клавишу <Esc>) и

выполнить соответствующую команду:

:qвыйти из редактора, если текст не вводился;

:q!выйти из редактора без сохранения изменений, даже если они были

сделаны;

:wзаписать (сохранить) текст в файл;

:wqсохранить текст в файле, затем выйти из редактора;

ZZсохранить файл, если в нем были сделаны любые изменения, затем выйти

из редактора;

:xже, что ZZ;

:w имя_файласохранить текст в файле с новым именем (имя_файла).

Редактор vi является полноэкранным редактором, поэтому имеется возможность

перемещения курсорав ту точку экрана, где необходимо поместить текст или сделать

изменения в тексте. Для этого можно воспользоваться клавишами со стрелками или

вводом соответствующей команды в режиме ввода (нажатием клавиши <Esc>):

h или (стрелка влево)перемещает курсор на один символ влево;

l или (стрелка влево)перемещает курсор на один символ вправо;

k или (стрелка влево)перемещает курсор на строку вверх;

j или (стрелка влево)перемещает курсор на строку вниз;

wперемещает курсор на одно слово вправо;

bперемещает курсор на одно слово влево;

$перемещает курсор в конец текущей строки;

0(нуль) или ^перемещает курсор в начало текущей строки;

<Ctrl>uперемещает курсор вверх на половину экрана;

<Ctrl>dперемещает курсор вниз на половину экрана;

<Ctrl>bперемещает курсор назад на полный экран;

<Ctrl>fперемещает курсор вперед на полный экран.

Для ввода нового текста, необходимо установить курсор в позицию на u1101 экране

дисплея, куда необходимо ввести текст. Затем ввести команду, не завершая ввода

нажатием клавиши <Return>:

i ввод текста перед позицией курсора;

aввод текста после позиции курсора;

oсоздание новой строки ниже позиции курсора и ввод с начала новой строки;

Iвставляет текст в первую позицию строки;

Aдобавляет текст в конец строки;

Oсоздание новой строки выше позиции курсора и ввод с начала новой.

После завершения ввода необходимо нажать клавишу <Esc> перед выполнением

следующей команды перемещения курсора.

Команды удаления символа, слова или строкитекста выполняются в режиме

ввода:

xудаляет символ в позиции курсора;

Xудаляет символ перед позицией курсора;

dwудаляет слово;

ddудаляет строку, в которой находится курсор;

d$ или Dудаляет текст от позиции курсора до конца строки;

d0 или d^удаляет текст от начала строки до позиции курсора.

После завершения ввода необходимо нажать клавишу <Esc> перед выполнением

следующей команды перемещения курсора.

Следующая группа команд используется для замены существующего текста:

rзаменяет символ, на который указывает курсор, новым символом; после

этого редактор переключается в командный режим без нажатия клавиши

<Esc>;

Rзаменяет текст с позиции курсора до тех пор, пока не будет нажата клавиша

<Esc>;

sзаменяет символ в позиции курсора одним или несколькими символами;

Sзаменяет текущую строку новым текстом;

cwзаменяет слово;

cc или Sзаменяет текущую строку новым текстом;

c$ или Cзаменяет текст от позиции курсора до конца строки;

c0 или c^заменяет текст от начала строки до позиции курсора/

После завершения ввода необходимо нажать клавишу <Esc> перед выполнением

следующей команды перемещения курсора.

Подобно текстовым процессорам, в редакторе vi имеются функции вырезания,

копирования и вставки текста. При выполнении команд x или d удаленные данные

помещаются во временный буфер. Для копирования текста во временный буфер

выполняется командой y. Вставка текста из буфера выполняется командой p.

Следует обратить внимание, что содержимое временного буфера сохраняется

только до следующей команды редактирования, затем оно заменяется текстом

следующей команды. Командой u можно отменить предшествующее редактирование.

ywкопирует слово в буфер;

yy или Yкопирует строку в буфер;

y$копирует в буфер текст от позиции курсора до конца строки;

y0 или y^копирует в буфер текст от начала строки до позиции курсора;

pвставляет текст из буфера в новую строку ниже позиции курсора или

после позиции курсора, в зависимости от того, что находится в

буфере: полная строка или ее часть;

Pвставляет текст из буфера в новую строку выше позиции курсора

или перед позицией курсора, в зависимости от того, что находится в

буфере: полная строка или ее часть;

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

Uвосстанавливает текущую строку, отменяя все изменения.

Следует напомнить, что viи exявляются редакторами одного типа, но используют

различные режимы работы:

viиспользует экранный режим;

ex– строчный.

Переход в режим редактора ex из vi осуществляется с помощью команды (<Esc>:).

Такая возможность была описана выше, при рассмотрении команд :w, :wq, :set showmode

и др. Ниже представлено несколько других полезных команд редактора ex:

:! командакоманда ОС Unix выполняется без выхода из редактора;

:r имя_файласодержимое указанного файла записывается в текущий файл в

строку ниже позиции курсора;

:r командачитает информацию из стандартного канала вывода команды ОС

Unix и записывается в текущий файл в строку ниже позиции.

Команды редактора vi используют ряд опций, которые влияют на результаты его

работы. Эти опции могут быть установлены заранее или в процессе работы с

редактором. Существует два типа таких опций:

- опции переключения (включить/выключить);

- строчные опции, которым могут присваиваться числовые значения.

Установка опций осуществляется командой set в режиме переключения в ex

(<Esc>:).

Опции переключения устанавливаются командой:

:set имя_опции

Действие опций отменяется добавлением к имени опции префикса no (без пробела):

:set noимя_опции

Строчные опции или комбинация разных типов опций устанавливаются командами:

:set имя_опции=значение

:set имя_опции=значение имя_опции=значение …

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

:set all

Ниже приведены некоторые часто используемые опции:

numberуказывает на то, чтобы все строки текста были

пронумерованы

showmodeустанавливает подсказку о режимах работа редактора в

нижней части экрана

tabstop=nустанавливает число пробелов в знаке табуляции (по

умолчанию 8)

warpmargin=nопределяет числом правую границу текста от края экрана (по

умолчанию 0).

Для автоматической установки опций редактор vi использует файл .exrc. Это

скрытый файл, который пользователь должен создать в своем регистрационном

(домашнем) каталоге, может содержать любые команды set редактора. Эти команды

выполняются при каждом вызове редактора. Файл .exrc не может содержать пустых

строк.