Rozumiem, że vi ma klawisze skrótów do usuwania znaków, słów i linii z różnymi opcjami.
Jednak nie mogłem tego znaleźć:
- usuń z kursora do następnego określonego znaku
Na przykład, mogę wpisać du"
oczekując, że edytor „usunie, dopóki nie "
zostanie znaleziony następny znak”
Najbliżej wiem, d9w
gdzie 9
jest liczba słów do usunięcia.
Czy ktoś wie, czy to jest możliwe?
Odpowiedzi:
Użyj dtc, gdzie c jest dowolną postacią, np. Dla ciebie, którą chceszdt"
Spowoduje to usunięcie września, ale nie w tym c .
Gdybyś miał:
I kursor znajdował się na pierwszej spacji i podczas pisania wpisałeś dt!:
Również dfc.
Spowoduje to usunięcie do i włącznie c .
Użycie df!tego samego przykładu powyżej dałoby ci:
Tylko o „ruchu” może być używany do
d
,c
,y
i podobnych poleceń.źródło
dT,
idF,
.d/word
wyszukiwanie doword
. Po nim musi być enter (aby zamknąć wyszukiwanie).Aby usunąć naprzód do znaku „X”, wpisz dtX
Aby usunąć do przodu za pomocą znaku „X” dfX
Aby usunąć wstecz do znaku „X”, wpisz dTX
Aby usunąć wstecz za pomocą znaku „X” dFX
źródło
Wejście dt # (nie polecenie: użyj go jak ruchu takiego jak G)
usunie się z kursora, ale nie uwzględniając #. Możesz podstawić dowolny znak na #.
źródło
Wygląda na to, że @Arcege już odpowiedział na pytanie, ale musiałem go
d/l
usunąć, dopóki znakl
; inne postacie też by działały.źródło
w
przechodzi do następującego słowa.l
przechodzi do następującego charactera.Dlatego należy
d9l
usunąć kolejne 9 znaków.źródło
l
to klawisz strzałki w prawo Vima, więc właściwie usuwasz. I odwrotnie,d9h
usunęłoby 9 znaków pozostałych.