Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNIX_podibni_OS / Unix подобные ОС Лаб. работа 2.doc
Скачиваний:
20
Добавлен:
17.03.2016
Размер:
133.12 Кб
Скачать

Лабораторная работа № 2 по курсу «Unix подобные операционные системы» Работа в редакторе VI

1. Общие сведения о редакторе VI

Редактор vi является мощным средством для создания и редактирования файлов. vi(visual) - экранно-ориентированный текстовый редактор, основанный на базовом редактореex. Он предназначен для работы на видеотерминале и использует окна, посредством которых вы можете просматривать текст файла. Несколько простых команд позволяют вам сделать изменения в тексте, которые очень быстро отображаются на экране. Редактор может отобразить одну или несколько строк текста. Он позволяет вам передвигать курсор в любую точку на экране или в файле, создавать, изменять или удалять текст. Вы можете также использовать некоторые команды построчного редактора, такие как глобальные команды, которые позволяют вам изменять множество появлений некоторой строки символов, используя одну команду. Чтобы двигаться по файлу, вы можете прокручивать текст вперед или назад.

Для того, чтобы начать работу с редактором viнеобходимо ввести следующую команду:

[root@franzycd] /root# vi filename

Где filename– имя файла, который вы собираетесь создать или редактировать

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

2. Режимы работы редактора VI

Редактор vi функционирует в трех режимах: режим ввода, командный режим и режим командной строки. В режиме вводавы можете добавлять и модифицировать текст. Все, что набирается на клавиатуре отображается на экране терминала и запоминается в буфере редактора. Вкомандном режимесимволы клавиатуры выполняют специальные функции (перемещение курсора, стирание частей текста, и т. д.), то есть функции редактирования. Вы можете выполнять следующие функции:

  • редактировать и изменять существующий текст;

  • удалять, перемещать и копировать текст;

  • передвигаться по всему файлу;

Режим командной строкипозволяет производить более глобальные операции с текстом: записывать отредактированный текст в файл, считывать новый файл, выходить изvi, производить настройку редактора, поиск по шаблону, а также осуществлять некоторые функции редактирования. Команды отображаются в нижней части экрана (в ``командной'' строке редактора).

3. Командный режим

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

Клавиши перемещения курсора позволяют вам перемещать курсор по файлу. Находясь в командном режиме, Вы можете использовать клавиши h,j,kиlдля перемещения курсора влево, вниз, вверх и вправо соответственно. Если Вы используете современную версию vi, Вы можете также с этой целью использовать клавиши со стрелками. Клавишиh,j,kиlпредпочтительнее, так как освоившись с ними Вы сможете перемещаться по файлу не размахивая руками над клавиатурой. Попробуйте понажиматьh,j,kиl(а также клавиши со стрелками) для перемещения по текстовому файлу. Попробуйте использоватьhпока не дойдете до начала строки. Отметьте, что vi не даст Вам перескочить на предыдущую строку нажимаяh, если Вы находитесь в начале строки. Точно также он не позволит Вам перескочить на следующую строку нажимаяlв конце строки.

Если перед h, j, k, l поставить число, то курсор передвинется на количество строк/символов, равных числу. Например, если надо передвинуть курсор на 4 строки вверх, введите 4k. Если вы не можете продвинуться дальше в этом направлении, то vi подаст звуковой сигнал и курсор останется на прежнем месте.

vi предоставляет специальные команды для прыжков в начало и конец текущей строки. Вы можете нажать 0(ноль) чтобы перескочить на первый символ в строке, и$чтобы перескочить на последний символ в строке. Попробуйте и посмотрите.

Вы также можете использовать <Ctrl>Fи<Ctrl>Bдля перемещения вперед и назад сразу на страницу. Современные версии vi (такие как vim) могут позволить использовать для этих целей клавиши PageUp и PageDown.

vi также позволяет перемещаться влево и вправо по словам. Для перемещения на первый символ следующего слова нажмите w. Чтобы передвинуться на следующий последний символ слова нажмитеe. Сдвинуться на предыдущий первый символ слова можно нажимаяb.

Подробнее команды позиционирования курсора представлены в таблице:

Таблица 1.

Команда

Действие команды

Позиционирование на символ

h

Перемещает курсор на один символ влево

l

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

BACKSPACE

Перемещает курсор на один символ влево

SPACEBAR

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

fx

Осуществляет поиск указанного символа x справа от текущей позиции курсора

Fx

Осуществляет поиск указанного символа x слева от текущей позиции курсора

tx

Осуществляет перемещение курсора вправо на символ до указанного символа x

Tx

Осуществляет перемещение курсора влево на символ до указанного символа x

;

Повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке

,

Повторяет предыдущий поиск символа, но в обратном направлении

j

Перемещает курсор вниз на одну строку

k

Перемещает курсор вверх на одну строку

-

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

+

Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ

<CR>

Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ

Позиционирование на строку

$

Переместить курсор на последний символ в строке

0(ноль)

Переместить курсор на первый символ в строке

^

Переместить курсор на первый ненулевой символ в строке

Позиционирование на слово

w

Перемещает курсор к началу следующего слова

W

Игнорирует все знаки пунктуации и перемещает курсор на следующее после пробела слово

e

Перемещает курсор на последний символ в следующем слове

E

Перемещает курсор на последний символ в слове. Игнорирует все символы пунктуации за исключением пробела

b

Перемещает курсор к первому символу предыдущего слова

B

Используется подобно команде b, за исключением того, что слова разделяются только символами пробел и новая строка

Позиционирование на предложение

(

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

)

Перемещает курсор в начало следующего предложения

Позиционирование на параграф

{

Переместить курсор в начало текущего параграфа, который ограничивается пустой строкой

}

Переместить курсор в начало следующего параграфа

Позиционирование в окне

H

Переместить курсор к первой строке экрана

M

Переместить курсор к средней строке экрана

L

Переместить курсор к последней строке экрана

Если вы хотите удалить символ, переместите курсор к этому символу и нажмите x. Перед x может стоять число, которое говорит о том, сколько символов подряд нужно удалить. Редактор vi так корректирует строку, что на месте удаленного символа не остается пустого промежутка или на месте удаленной строки - пустой строки.