Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы OC UNIX_часть3.doc
Скачиваний:
23
Добавлен:
18.04.2015
Размер:
543.23 Кб
Скачать

1.2. Редактор VI и ex

Обозначения viиex– два различных имени расширенной версии редактораed. Эта программа работает как экранно–ориентированный редактор при обращении по имениviи как строчно–ориентированный редактор при обращении по имениex.VI(visual interpreter)– визуальный интерпретатор.

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

Для продвижения окна вперед по буферу используются следующие запросы:

^F– продвигает окно на целую страницу (т.е. размер окна);

^D–продвигает окно на половину страницы.

Для продвижения по буферу в обратном направлении используются запросы:

^B–продвигает окно на целую страницу;

^U–продвигает окно на половину страницы.

При достижении конца буфера вместо недостающих строк вводится литера «~».

На первое время для работы с редактором viдостаточно знать перечисленные ниже запросы.

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

0– к началу текущей строки;

$–к концу текущей строки;

H– к началу экрана (Home);

М– на середину экрана (Middle);

L–к концу экрана (Last);

nG– к строке с номером n (на последнюю строку, если n опущен);

w– для перемещения курсора вперед на начало следующего слова;

e– для перемещения на конец текущего слова;

b– для перемещения назад на начало слова;

Добавление нового текста:

a–после курсора;

А–к концу строки;

i–перед курсором;

I–в начале строки;

о–образование новой строки под текущей строкой;

О–образование новой строки над текущей строкой;

Изменение текста:

cw–до конца текущего слова;

сс–изменение всей строки;

Удаление текста:

х–исключить текущую литеру (при этом текст сдвигается на ее место);

dw–до конца текущего слова ;

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

Поиск и замещение текста:

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

R–замещение одной совокупности символов на другую, которую вы набираете;

s–замещение одного символа несколькими;

S–замещение всей строки (аналогично командесс).

Перед большинством команд можно задавать коэффициент кратности,

Например:3dd– удалит 3 строки, начиная с текущей.

Копирование и перемещение текста:

p–вставить текст из буфера после текущей позиции курсора;

P–вставить текст из буфера перед текущей позиции курсора;

“*p–вставить текст из буфера, поименованного буквой*;

“*y[число]–скопировать фрагмент текста в буфер, поименованный буквой*;

[число]Yилиyy–скопировать всю строку в буфер.

В редакторе viможно использовать запросы редактораed, предваряя их двоеточием.

Наиболее часто используются следующие запросы:

:sh–вызвать программу–оболочку;

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

:r имя файла–считать файл;

:s...–заменить одну цепочку литер на другую;

:g...–глобальный поиск по цепочке.

Редактор viимеет ряд внутренних переменных, определяющих различные режимы его работы. Текущие значения этих переменных выводятся командой :set all.

Опции редактора могут относиться к одной из трех групп:

  • двоичные, например nu;

  • числовые, например sw,wm;

  • строковые, например dir.

Каждая переменная имеет имя и устанавливается при помощи одной из команд:

:set имя переменной;

:set имя переменной=значение.

Соответствующий режим отменяется командой

:set no имя переменной

Список имен внутренних переменных (в скобках даются допустимые сокращения):

autowrite(aw)– автоматическая запись буфера в файл перед выполнением ряда команд (т.е. принудительная запись в текущий файл перед вызовом нового файла);

number(nu)– выдавать строки текста вместе с их номерами;

wrapmargin(wm)– установить значение «заворачивания на границе» (т.е. устанавливает ширину поля от правого края экрана при автоматическом переводе слова на следующую строку);

shift width(sw)– смещение текста по командам<< >>(по умолчанию установлено m=8);

directory(dir)– имя каталога, который должен содержать буфер редактирования (по умолчанию –/tmp);

ab <сокращение> <полное слово>– присвоение сокращения (аббревиатуры) длинному слову текста;

term– имя типа используемого терминала.

Для установления постоянного действия в проведенных присваиваниях поместите команды (без двоеточия) в файл .exrc. Файл.exrcявляется запускающим файломvi, и он выполняется каждый раз, когда вы запускаете редактор.

Чтобы закончить работу с редактором vi, нужно набрать символы:

:w, или:wq, или:x, илиZZ(без ввода знака :).

:q!– выход из файла без сохранения любых изменений.