Разделы:

Главная

О проекте

Загрузки

Документация:

Linux

BSD

Другие Unix

Программинг

HTML, XML...

Сервера

"Окна Закрой!"

MANы

 



6. РЕДАКТОРЫ EX И VI
Это комбинация двух непересекающихся возможностей: ex - строчный редактор (расширение базового редактора ed); vi - экранный редактор (может выполнять также все команды редак- тора ex).


6.1. Вызов vi

а) $ vi myfile (одно или несколько имен файлов через про- белы для последовательного вызова их на редактирование). Если такого файла нет, то появится начало пустого файла; курсор - в начале первой строки.
б) $ vi + myfile
На экране - конец файла; курсор - в начале последней строки.
в) $ vi +10 myfile
На экране - часть файла и строка 10 - в центре экрана; курсор - в начале этой строки.

6.2. Выход из vi

а) Если вы хотите запомнить изменения:

Esc : w q ! Enter
(нажать на клавишу Esc, ввести двоеточие - оно появится в нижней части экрана, ввести символы w, q и восклицательный знак, нажать на клавишу Enter).
б) Если нет:

Esc : q ! Enter

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

а) клавиши <-,,,->;
б) H - home, M - middle, L - last: начало, середина, ко- нец экрана;
в) w - вперед на начало следующего слова; e - на конец текущего слова; b - назад на начало слова.


6.4. Добавление, изменение и уничтожение текста

Подвести курсор к нужной позиции и нажать одну из ниже указанных клавиш.
Уничтожение
x - уничтожить текущую букву (где курсор), текст сдвига- ется на ее место.
Изменение (замена):
r - замена текущей буквы; rv - замена на v.
s - замена одной или нескольких букв текстом; например, 3stest - замена трех букв строкой 'test'.
Добавление:
i - вставить произвольный текст перед курсором. Конец ввода текста - клавиша Esc;
a - добавить произвольный текст после курсора. Конец вво- да текста - клавиша Esc.


6.5. Операции над словами и строками

Уничтожение слова (слов):
- подвести курсор к началу слова и нажать:
dw (delete word);
2dw - 2 слова;
ndw - n слов (n - число).
Изменение слова:
- подвести курсор к началу слова и печатать:
cw < слово > Esc
2cw <<два слова> Esc
и т.д.
Уничтожение части строки
d$ - от текущего символа до конца строки (текущий символ исчезает - то же делает D);
d^ - от начала строки до текущего символа (текущий символ остается).
Замена части строки (аналогична)
c$ (или C) <текст замены (может быть из нескольких строк)> Esc - замена конца строки (от курсора); c^ <текст замены> Esc - замена начала строки (до курсора, не включая его). ;

Уничтожение целой строки
dd - уничтожение одной строки;
10dd - уничтожение 10 строк.
Замена целой строки
cc < текст > Esc - замена одной строки; 5cc < текст > Esc - замена пяти строк.
Создание новой строки
о - пустая строка после текущей строки;
O - пустая строка перед текущей строкой.
Ввод до и после текущей строки:
^i (или I) - до;
$a (или A) - после.

6.6. Перeстановка части текста (cut-paste)

Часть текста сохраняется в буфере редактора, затем встав- ляется в другое место или в несколько мест (если вставка повторяется). Буфера могут быть именованными и один - ано- нимный. При выполнении команд ndd (где n - число) удаляемые n строк попадают на некоторое время в неименованный буфер. Содержание буфера можно вставить:
- после текущей строчки командой p (put);
- перед текущей строчкой командой P (Put).
Следует помнить, что в анонимном буфере хранится послед- ний уничтоженный текст, предыдущие - безвозвратно теряются! (команды с (change) - тоже уничтожают буфер).

6.7. Сохранение части текста для последующего использования (yank)


yw - сохранить слово (курсор - в начале слова);
yy (или Y) - сохранить одну строку ;
5yy (или 5Y) - сохранить 5 строк; и т.п. (в анонимном буфере).
Именованные буфера имеют имена из одной буквы от a до z; доступ к буферу - по имени имеет вид "x, где x - имя буфера.

Запись в буфер a
"a3yy - сохранить 3 строки в буфере a (с начала буфера).
Вставка текста из анонимного буфера (как обычно):
- p - после текущей строки;
- P - перед ней.
Вставка текста из именованного буфера:
- "ap - после текущей строки из буфера a;
- "aP - перед ней из буфера a.
Добавление в буфер:
- "aAdd - добавить к a уничтоженную по dd текущую строку.

далее     содержание


Партнёры и спонсоры проекта:

Все материалы сайта распространяются по лицензии GNU/GPL
© ProUNIX 2003-2009, UnixLib 2005-2009, SoftLib 2006-2009.