next up previous contents index
Next: Извлечение и присоединение текста Up: Экранный редактор vi Previous: Удаление строк   Contents   Index

Модификация текста

Один из способов модификации текста представляют команды удаления и команды ввода текста. Другой способ, с помощью которого вы можете изменить текст, это задать команду, позволяющую одновременно удалять и создавать текст. В редакторе vi существуют 3 основные команды изменения текста: r, s и c.

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.

Команда подстановки текста заменяет символы, но затем позволяет вам продолжать ввод текста с того места, где вы нажали клавишу ESCAPE.

s
удалить символ, на который указывает курсор и добавить текст. После окончания ввода текста нажмите клавишу ESCAPE;
ns
удалить n символов и добавить текст. После окончания ввода текста нажмите клавишу ESCAPE;
S
заменить все символы в строке.

Когда вы вводите команду s, последний символ в строке символов, который будет заменен, переписывается со знаком $. Символ не стирается с экрана, пока вы не введете на его место новый символ, или не нажмете клавишу ESCAPE.

Команда подстановки заменяет символы. Команда изменения заменяет объект текста и затем продолжает добавлять текст с этого места до тех пор, пока вы не нажмете клавишу ESCAPE.

Команда изменения может содержать аргумент text_object. Вы можете заменить символ, слово и так далее на новый текст:

ncx
заменить n-ый объект текста типа x (предложение, параграф);
cw
заменить слово или оставшиеся символы в слове на новый текст. Редактор vi печатает знак $, чтобы показать последний символ, который будет заменен;
ncw
заменить n слов;
cc
заменить все символы в строке;
ncc
заменить все символы в текущей строке и n верхних строк;
C
заменить оставшиеся символы в строке от курсора до конца строки;
dfn nC
заменить оставшиеся символы, начиная от курсора в текущей строке и во всех n верхних строках.
Команда c использует знак $, чтобы отметить последний символ, который должен быть замещен. После того как выполнилась команда изменения, вы находитесь в режиме ввода текста и можете вводить любой текст. Тескт будет храниться в буфере, пока вы не нажмете клавишу ESCAPE.



Alex Otwagin 2002-12-16