W normalnym trybie mogę nacisnąć Ctrl
+, E
co usuwa resztę bieżącego słowa i przechodzi do trybu wstawiania.
Chcę usunąć całe słowo, niezależnie od pozycji kursora (oczywiście w słowie).
Odpowiedzi:
Możesz użyć „zmień słowo wewnętrzne”, wpisując „ciw”, aby usunąć słowo, na którym znajduje się kursor.
Polecenia "inner" i "a" są świetne w Vimie, spróbuj także "ci {" wewnątrz bloku {} lub "ca {", jeśli również chcesz usunąć znaki {}. Aby przetłumaczyć te polecenia na angielski i lepiej je zapamiętać, spróbuj: "zmień wewnętrzny {blok" i "zmień {blok".
Dokumentacja pod adresem http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects
ciw
i caw
nie są dokładnie takie same: ciw
usuwa tylko słowo, caw
usuwa również spację na końcu.
Odpowiedź na pytanie uzupełniające: viwp
v -> start visual mode
iw -> select the 'inner word'
p -> paste - in visual mode it replaces the visually selected text.
yiw
aby skopiować bieżące słowo, umieść kursor na słowie do zastąpienia, użyj ciw<C-r>0
. Następnie możesz umieścić kursor na następnym słowie i użyć, .
aby powtórzyć zamianę.
:%s/a/b/g
. a
może być dokładnym tekstem lub wyrażeniem regularnym i b
jest tym, czego zastąpisz wszystkie dopasowania a
. Możesz testować wyrażenia regularne w /
trybie vima . Zastąp %
numerem wiersza lub zakresem, jeśli nie chcesz podstawiać we wszystkich wierszach.
Drugie pytanie: bPldw
Spowoduje to, w kolejności, przejście do początku bieżącego słowa, wstawienie domyślnego rejestru przed kursorem, przejście do następnego znaku (prowadzącego poza koniec właśnie wstawionego tekstu) i usunięcie pozostałej części słowo.
bPlde
.
viwp
Na pierwsze pytanie bcw
też działa. Oznacza „ b
potwierdzenie na początek słowa, c
zmień w
ord”. Ale myślę, że ciw
jest bardziej niezapomniany, co oznacza „ c
mień i
nner w
ord”, po prostu tylko jeden krok.
W przypadku drugiego pytania dotyczącego „zastąp przy użyciu wklejania” moim rozwiązaniem jest "_diwP
. To d
suĹ i
nner w
ord do rejestru nie obchodzi i p
aste zawartość domyślnego Rejestru. Zaletą jest to, że możesz wielokrotnie wkleić domyślny rejestr, ponieważ nie byłby on zanieczyszczony. To mały kompleks, więc mapuję go jako nnoremap ,r "_diwP
.
Lub możesz użyć sekwencji klawiszy, bdwi
aby usunąć bieżące słowo i przejść do trybu INSERT.
bcw
aby przejść do początku bieżącego słowa, a następnie zmienić je, co pozostawia tryb wstawiania.
dwi
. Uważaj tylko, aby gliniarze tego nie zauważyli, ponieważ DWI jest nielegalne w większości stanów.