Библиотека сайта rus-linux.net
7.15. Модификация текста
Один из способов модификации текста представляют команды удаления и команды ввода текста. Другой способ, с помощью которого вы можете изменить текст, это задать команду, позволяющую одновременно удалять и создавать текст. В редакторе vi существуют 3 основные команды изменения текста: r, s и c.
7.15.1. Замена текста
- rx -
- Заменить текущий символ (символ, на который показывает курсор) на x. Эта команда не устанавливает режим ввода текста и, следовательно, нет необходимости нажимать после нее клавишу ESCAPE.
- nrx -
- Заменить n символов на x. После этой команды также не надо нажимать клавишу ESCAPE.
- R -
- Заменяет только те символы, которые введены в режиме ESCAPE. Если будет достигнут конец строки, то эта команда добавит ввод как новый текст.
Например, вы хотите заменить слово acts на ants в следующем предложении:
The circus has many acts.Поместите курсор под буквой c в слове acts и введите команду:
rnПредложение будет иметь вид:
The circus has many ants.Чтобы заменить слово many на 7777, поместите курсор под буквой m в слове many и введите команду:
4r7Команда r заменит слово many на четыре цифры 7:
The circus has 7777 ants.
7.15.2. Подстановка текста
Команда подстановки текста заменяет символы, но затем позволяет вам продолжать ввод текста с того места, где вы нажали клавишу ESCAPE.
- s -
- удалить символ, на который указывает курсор и добавить текст. После окончания ввода текста нажмите клавишу ESCAPE;
- ns -
- удалить n символов и добавить текст. После окончания ввода текста нажмите клавишу ESCAPE;
- S -
- заменить все символы в строке.
Когда вы вводите команду s, последний символ в строке символов, который будет заменен, переписывается со знаком $. Символ не стирается с экрана, пока вы не введете на его место новый символ, или не нажмете клавишу ESCAPE.
7.15.3. Изменение текста
Команда подстановки заменяет символы. Команда изменения заменяет объект текста и затем продолжает добавлять текст с этого места до тех пор, пока вы не нажмете клавишу ESCAPE.
Команда изменения может содержать аргумент text_object. Вы можете заменить символ, слово и так далее на новый текст:
- ncx -
- заменить n-ый объект текста типа x (предложение, параграф);
- cw -
- заменить слово или оставшиеся символы в слове на новый текст. Редактор vi печатает знак $, чтобы показать последний символ, который будет заменен;
- ncw -
- заменить n слов;
- cc -
- заменить все символы в строке;
- ncc -
- заменить все символы в текущей строке и n верхних строк;
- C -
- заменить оставшиеся символы в строке от курсора до конца строки; dfn nC заменить оставшиеся символы, начиная от курсора в текущей строке и во всех n верхних строках.
Команда "c" использует знак $, чтобы отметить последний символ, который должен быть замещен. После того как выполнилась команда изменения, вы находитесь в режиме ввода текста и можете вводить любой текст. Тескт будет храниться в буфере, пока вы не нажмете клавишу ESCAPE.
В табл. 13 приведены команды изменения текста.
Таблица 13
Команды изменения текста
Команда | Функция |
---|---|
r | Заменить текущий символ |
R | Заменить те символы, которые введены в режиме ESCAPE |
s | Удалить символ, под которым расположен курсор и добавить текст. Для окончания режима ввода нажмите клавишу ESCAPE |
S | Заменить все символы в строке |
cc | Заменить все символы в строке |
ncx | Заменить n объектов текста типа x (предложение, параграф) |
cw | Заменить слово или оставшиеся символы в слове на новый текст |
C | Заменить оставшиеся символы в строке от курсора до конца строки |