Відповіді:
ciw
(змінити внутрішнє слово) змінить ціле слово під курсором. Порівняйте з
cw
що змінить слово лише з поточного положення курсору . Для отримання додаткової інформації дивіться це питання / відповідь.
Я часто відчуваю, що хочу замінити одне слово іншим, яке я потягнув з іншого місця. Проблема з іншими рішеннями є те , що якщо ви намагаєтеся змінити слово, то ваша наступна паста буде цим словом , що ви видалили з cw
.
Спробуйте наступне:
1 "This first word should overwrite the second"
yiw yank inner word (copy word under cursor, say "first").
... Move the cursor to another word (say "second").
viwp select "second", then replace it with "first".
Сподіваюся, що це ви шукали.
once
. Якщо мені доведеться замінити пару second' by
перших` (у вашому прикладі), скопійоване слово стає second
після першої заміни.
ciw
c change
iw inner word
Це видалить слово під курсором (навіть якщо курсор знаходиться десь посередині слова) і введе режим вставки.
Також дивіться документацію Vim для довідок:
:help c
:help text-objects
Якщо ви хочете змінити слово за допомогою раніше вирезаного слова, є ще одне рішення viwp
(після того, як ви вирвете перше слово).
ciw
видаляє попереднє слово і переводить вас у режим вставки там, де воно було. Але потім ви можете використовувати ctrl+r, 0
для вставки вміст регістра 0 (який містить раніше вибите слово).
Так:
yiw
[move to next word]
ciw
ctrl+r
0
Це працює краще, ніж viwp
через те, що після першого використання ви зможете повторно виконувати заміну .
. Він також не переходить у візуальний режим і коротко виділяється.
viwp
) можна зробити кілька разів лише одним щупом. Дякую!
viwp
- навіть .
не дублює це.
.
з цим чудова!
Спробуйте cw
- як у «зміні слова».
Використовуйте http://linuxmoz.com/vi-commands-cheat-sheet/ або будь-яку іншу шпаргалку як орієнтир.
/usr/bin/bash
або1222.333
)? Схоже, інтерпретується vim/
і.
як кінець слова, і не вибереться весь рядок.