В оглавление


Приложение


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

ТЕКСТОВОГО РЕДАКТОРА 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.

Команды, выполняемые в командном режиме VI

Изучим группу команд режима vi: перемещения курсора, добавления текста, поиска (частично), изменения и смещения текста, удаления, замены букв. Команды vi не отображаются на экране, кроме команд поиска, начинающихся со знаков / ? перемещение курсора, управление экраном дисплея, добавление текста.

Многие команды редактора выполняются только при определенном положении курсора, и нужно уметь пользоваться клавишами управления курсором (клавиши со стрелками <- , -> и т.д.). Кроме клавиши со стрелками для перемещения курсора можно использовать клавиши: СТRL-Н - влево; СТRL-N - вниз; СТRL-Р - вверх; SРАСЕ - вправо.

Команды перемещения курсора:

h - на одну позицию влево;

l - на одну позицию вправо;

j - на одну позицию вниз;

k - на одну позицию вверх;

b - к первому символу предыдущего слова;

В - то же самое, что b, но игнорируются знаки пунктуации;

w - к первому символу следующего слова;

W - то же самое, что w, но игнорируются знаки пунктуации;

е - к последнему символу следующего слова;

Е - то же самое, что е, но игнорируются знаки пунктуации;

( - к началу текущего предложения (предложение считается законченным, если после него есть два пробела или пустая строка);

) - к концу текущего предложения;

{ - к началу текущего раздела (разделителем раздела является пустая строка);

} - к концу текущего раздела;

[ - к началу текущей секции;

] - к концу текущей секции;

^ - к первому отображаемому символу на текущей строке;

О - к началу текущей строки;

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

Н - к началу экрана;

М - на середину экрана;

L - к концу экрана;

nG - к строке с номером n (на последнюю строку, если номера n нет); % - к символу парной скобки, если курсор находится под одной из них.

Команды управления экраном:

^U - смещение текста на одну строку вверх (СТRL-U);

^D - смещение текста на одну строку вниз (СТRL-D);

^В - смещение текста на один кадр назад (СТRL-В);

^F - смещение текста на один кадр вперед (СТRL-F).

Чтобы переместить текущую строку:

в верхнюю часть экрана нужно ввести команду z и нажать клавишу Enter;

в середину экрана z;

в нижнюю часть экрана z- .

Для очистки экрана от сообщений нужно использовать команды СТRL-R и СТRL-L; тексты в рабочей области при этом сохраняются.

Команды изменения текста:

сw - изменение слова;

сW - то же самое, что и сw, но игнорируются знаки пунктуации;

сО - от начала текущей строки;

с$ - до конца текущей строки;

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

с( - от начала текущего предложения;

с) - до конца текущего предложения;

с{ - от начала текущего раздела;

с} - до конца текущего раздела.

Для внесения изменений в текст необходимо: переместить курсор в нужную позицию; ввести команду изменения; без пробела набрать новый текст; нажать клавишу ЕSС.

Во всех командах можно использовать множители n, например для изменения пяти слов используется команда с5w.

Команды поиска начинаются косой чертой / (поиск вперед по тексту) или знаком ? (поиск назад); далее следует номер строки или ключевое слово. Команда заканчивается нажатием клавиши Enter.

Команды смещения текста:

<(или>( - к началу текущего предложения;

<)или>) - к концу текущего предложения;

<{или>{ - к началу текущего раздела;

<}или>} - к концу текущего раздела.

В командах смещения текста можно использовать множители, например может использоваться команда 2>> (сдвиг вправо). Смещение устанавливается командой: set sw=m. По умолчанию m=8. После того как курсор подведен к требуемой строке, нужно набрать символы << или >>.

Удаление, замена строчных букв на прописные и наоборот. Для удаления текста/фрагмента нужно переместить курсор в требуемую позицию и ввести команду удаления.

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

dW - то же, что и dw, но игнорируются знаки пунктуации;

d^ - до 1-го видимого символа текущей строки;

dО - удаление начала строки;

d$ - удаление конца строки;

d( - до начала текущего предложения;

d) - до конца текущего предложения;

d{ - до начала текущего раздела;

d} - до конца текущего раздела;

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

dkw - удаление k слов;

dk)/dk} - удаление k предложений, k разделов;

kdd - удаление k строк.

Для удаления одиночного символа нужно подвести к нему курсор и набрать х (не d), а для удаления нескольких символов подряд набрать команду nх.

Для удаления текста от начала строки до определенного места и от определенного места до конца строки используются команды d^ и d$ соответственно.

Символ ~ используется для замены строчных букв на прописные и наоборот. Замена 1-й буквы в последней строке текста:

Введите символ ( (к началу текущего предложения).

Наберите команду .~

Восстановите текст командой u.

Определение текущей рабочей позиции в файле. После ввода пользователем в командном режиме СТRL-G в нижней части экрана появится статусная информация в соответствии с положением курсора в текcте, включающая: имя файла; сведения о проведенной ранее модификации; номер текущей строки; общее число строк; расстояние курсора от начала файла (в процентах).

Для окончания работы с редактором введите в командном режиме :wq (запись текста из рабочей области в файл и окончание редактирования) и нажмите клавишу Enter. На экране появится сообщение о том, что Вы вышли из редактора и находитесь в Shell:

:wq <Enter>

/home/student >




Составители: Лянцев Олег Дмитриевич

Еникеев Рустем Радомирович

Колесников Андрей Александрович

Тарарако Павел Иванович








РАБОТА ПОЛЬЗОВАТЕЛЯ В ОПЕРАЦИОННОЙ СИСТЕМЕ

LINUX


МЕТОДИЧЕСКИЕ УКАЗАНИЯ



к лабораторному практикуму по курсу


"Операционные системы" для студентов специальностей

220200 – Автоматизированные системы обработки информации и управления и

351400 – Прикладная информатика в экономике








Подписано к печати 30.12.2004 Формат 60х84 1/16.

Бумага писчая. Печать плоская. Усл. печ. л.2,25.

Усл. кр. –отт. 2,0. Уч. –изд. л. 2,0. Тираж 100 экз.

Заказ №

Уфимский государственный авиационный технический университет

Центр оперативной полиграфии УГАТУ

450000, Уфа-центр, ул. К. Маркса, 12


статистика