Введение в UNIX
Дегтярев Е.К.
Оглавление
6. Редакторы EX и VI
Это комбинация двух непересекающихся возможностей: ex -
строчный редактор (расширение базового редактора ed); vi -
экранный редактор (может выполнять также все команды редак-
тора ex).
В начало страницы
а) $ vi myfile (одно или несколько имен файлов через про-
белы для последовательного вызова их на редактирование).
Если такого файла нет, то появится начало пустого файла;
курсор - в начале первой строки.
б) $ vi + myfile
На экране - конец файла; курсор - в начале последней
строки.
в) $ vi +10 myfile
На экране - часть файла и строка 10 - в центре экрана;
курсор - в начале этой строки.
В начало страницы
а) Если вы хотите запомнить изменения:
Esc : w q ! Enter
(нажать на клавишу Esc, ввести двоеточие - оно появится
в нижней части экрана, ввести символы w, q и восклицательный
знак, нажать на клавишу Enter).
б) Если нет:
Esc : q ! Enter
а) клавиши <-, , ,->;
б) H - home, M - middle, L - last: начало, середина, ко-
нец экрана;
в) w - вперед на начало следующего слова; e - на конец
текущего слова; b - назад на начало слова.
В начало страницы
Подвести курсор к нужной позиции и нажать одну из ниже
указанных клавиш.
Уничтожение
x - уничтожить текущую букву (где курсор), текст сдвига-
ется на ее место.
Изменение (замена):
r - замена текущей буквы; rv - замена на v.
s - замена одной или нескольких букв текстом; например,
3stest - замена трех букв строкой 'test'.
Добавление:
i - вставить произвольный текст перед курсором. Конец
ввода текста - клавиша Esc;
a - добавить произвольный текст после курсора. Конец вво-
да текста - клавиша Esc.
В начало страницы
Уничтожение слова (слов):
- подвести курсор к началу слова и нажать:
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) - после.
В начало страницы
Часть текста сохраняется в буфере редактора, затем встав-
ляется в другое место или в несколько мест (если вставка
повторяется). Буфера могут быть именованными и один - ано-
нимный. При выполнении команд ndd (где n - число) удаляемые
n строк попадают на некоторое время в неименованный буфер.
Содержание буфера можно вставить:
- после текущей строчки командой p (put);
- перед текущей строчкой командой P (Put).
Следует помнить, что в анонимном буфере хранится послед-
ний уничтоженный текст, предыдущие - безвозвратно теряются!
(команды с (change) - тоже уничтожают буфер).
В начало страницы
использования (yank)
yw - сохранить слово (курсор - в начале слова);
yy (или Y) - сохранить одну строку ;
5yy (или 5Y) - сохранить 5 строк;
и т.п. (в анонимном буфере).
Именованные буфера имеют имена из одной буквы от a до z;
доступ к буферу - по имени имеет вид "x, где x - имя буфера.
Запись в буфер a
"a3yy - сохранить 3 строки в буфере a (с начала буфера).
Вставка текста из анонимного буфера (как обычно):
- p - после текущей строки;
- P - перед ней.
Вставка текста из именованного буфера:
- "ap - после текущей строки из буфера a;
- "aP - перед ней из буфера a.
Добавление в буфер:
- "aAdd - добавить к a уничтоженную по dd текущую строку.
|