Быстрым способом перемещения букв является комбинация команд "x" и "p" (xp). Команда "x" удаляет букву, "p" - помещает ее после следующего символа. Например, в следующем предложении есть ошибка:
A line of tetx
Поместите курсор под буквой "t" в комбинации "tx" и затем нажмите клавиши "x" и "p". В результате получим:
A line of text
Вы можете копировать одну или несколько строк текста во временный буфер и затем поместить копию этого текста в определенное место в файле. Чтобы поместить текст на новое место, введите команду "y". Команда "y" имеет следующий общий формат:
[number]y[text_object]
Копирование строк с помощью команды "y" не удаляет их с прежнего места в файле, т.е. вы можете поместить один и тот же кусок текста в нескольких местах.
В табл. 7 приведены способы использования команды "y".
Таблица 7 Команда y
Команда
Функция
nyx
Копирование n-го объекта текста типа x (предложение или параграф)
yw
Создание копии слова
yy
Создание копии текущей строки
nyy
Копирование n строк
y)
Создание копии всего текста до конца предложения
y}
Создание копии всего текста до конца параграфа
Обратите внимание, что эта команда позволяет указывать номер объекта текста, который будет копироваться.
Перемещение и копирование нескольких разделов текста в различные части файла является утомительной работой. Редактор vi предлагает вам использовать так называемые регистры, в которых вы можете хранить текст до тех пор, пока он вам не понадобится. Сохранить текст вы можете либо с помощью команды "y", либо с помощью команды удаления. Использование регистров особенно полезно, если часть текста должна появиться во многих местах в файле. Извлекаемый текст остается в указанном регистре пока вы не завершите работу с ним, либо закончите работу с редактором, либо поместите в этот регистр другой текст.
Общий формат команды:
[number]["X]command[text_object]
где X - имя регистра, состоящее из одной буквы верхнего регистра. Имени регистра должны предшествовать двойные кавычки.
В табл. 8 приведены команды извлечения и присоединения текста.
Таблица 8 Команды извлечения и присоединения текста
Команда
Функция
p
Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора
yy
Создает копию строки текста и помещает во временный буфер
nyx
Создает копию n-го объекта текста типа x и помещает ее во временный буфер
"xyn
Помещает копию объекта текста типа n в в регистр с именем x