Odpowiedzi:
Często mam ochotę zastąpić jedno słowo innym, które wyszarpnąłem z innego miejsca. Problem z innych rozwiązań jest to, że jeśli spróbujesz zmienić słowo, wówczas obok pasta będzie się to słowo, które zostało usunięte z cw.
Spróbuj wykonać następujące czynności:
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".
Mam nadzieję, że tego właśnie szukałeś.
once. Jeśli muszę zamienić kilka second' by pierwszych (w twoim przykładzie), skopiowane słowo stanie się secondpo pierwszej zamianie.
ciw
c change
iw inner word
Spowoduje to usunięcie słowa pod kursorem (nawet jeśli kursor znajduje się gdzieś w środku słowa) i przejście do trybu wstawiania.
Zobacz także dokumentację Vima w celach informacyjnych:
:help c
:help text-objects
Jeśli chcesz zmienić słowo z poprzednio wyszarpanym słowem, istnieje inne rozwiązanie viwp(po wyszarpnięciu pierwszego słowa).
ciwusuwa poprzednie słowo i przełącza cię w tryb wstawiania tam, gdzie było. Ale wtedy możesz użyć ctrl+r, 0do wstawienia zawartości rejestru 0 (który zawiera poprzednio wyszarpane słowo).
Więc:
yiw
[move to next word]
ciw
ctrl+r
0
Działa to lepiej niż viwpdlatego, że po pierwszym użyciu możesz wielokrotnie dokonywać wymiany za pomocą .. Nie przełącza się również w tryb wizualny i na krótko wyróżnia.
viwp) można to zrobić kilka razy za pomocą jednego szarpnięcia. Dzięki!
viwp- nawet .go nie powiela.
.z tego jest świetna!
Spróbuj cw- jak w przypadku „zmień słowo”.
Użyj http://linuxmoz.com/vi-commands-cheat-sheet/ lub dowolnego innego ściągawki jako odniesienia.
/usr/bin/bashLub1222.333)? Wygląda na to, że vim interpretuje/i.jako koniec słowa i nie wybierze całego ciągu.