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