Многие команды редактора vi, такие как команды удаления и изменения, предоставляют вам возможность использовать в командной строке команды перемещения курсора. Команды перемещения курсора могут указывать на объект текста: слово, строка, предложение, параграф. В этом случае общий формат команды будет такой:
[number][command]text_object
Квадратные скобки указывают, что данные компоненты не являются обязательными.
Все команды удаления, выдаваемые в командном режиме сразу же удаляют указанный текст с экрана и оставшуюся часть отображают на экране в обновленном виде.
Команда удаления имеет следующий формат:
[number]dtext_object
где d - команда удаления; text_object - объект удаления.
7.14.1. Удаление слов
Вы можете удалить слово или часть слова с помощью команды d. Переместите курсор к первому удаляемому символу и введите команду dw. Символ, расположенный над курсором и последующие за нми будут стерты. Команда dw удаляет одно слово или знак пунктуации и пробелы, которые следуют за ним. Вы можете удалить несколько слов или знаков пунктуации за один раз, если укажете перед командой соответствующее число. Например, чтобы удалить 3 слова и две запятые, введите команду 5dw.
7.14.2. Удаление параграфов
Чтобы удалить параграф, воспользуйтесь командой:
d
Помните, что вы можете восстановить удаленный текст с помощью команды u.
7.14.3. Удаление строк Чтобы удалить строку, введите:
dd
Для удаления нескольких строк укажите перед командой количество удаляемых строк. Например, команда:
10dd
сотрет 10 строк.
Если вы удаляете несколько строк, то vi отображает в нижней части экрана сообщение типа:
10 lines deleted
Если ниже текущей строки осталось меньше 10 строк, то прозвучит сигнал и строки не удалятся.
7.14.4. Удаление текста после курсора
Для удаления всего текста на строке, расположенного после курсора, поместите курсор на первый удаляемый символ и введите:
D или d$
Эта команда удаляет текст только на текущей строке.
В табл. 12 приведен список команд для удаления текста.
Таблица 12 Команды удаления текста
Команда
Функция
Режим ввода
BACKSPACE
Удалить текущий символ
1w
Удалить текущее слово
@
Удалить текущую строку нового текста или удалить весь новый текст в текущей строке Командный режим
u
Отменить последнюю команду
U
Восстановить текущую строку в прежнем состоянии
x
Удалить текущий символ
ndx
Удалить n-ый объект текста x
dw
Удалить слово над курсором и следующий за ним пробел, или знак пунктуации
dW
Удалить слово и пунктуацию над курсором с последующим за ним пробелом
dd
Удалить текущую строку
D
Удалить часть строки справа от курсора
d)
Удалить текущее предложение от текущей позиции курсора до конца
d}
Удалить текущий параграф от текущей позиции до конца