Często podczas programowania mam do czynienia z zagnieżdżonym obiektem, który chciałbym usunąć z kodu w środku takiej linii:
htmlDoc.WriteLine("<b><h3>" + this.cbAllSyncs.SelectedItem.ToString() + "</h3></b>");
Część, którą chciałbym usunąć, to:
this.cbAllSyncs.SelectedItem.ToString()
Wiem, że mogę policzyć liczbę słów i kropek i wprowadzić, 7dwaby usunąć z mojej bieżącej pozycji kursora „to”. Jednak to, co chciałbym zrobić, to w ogóle nie liczyć i usuwać do miejsca jednym poleceniem. czy to możliwe?
df<space>
usuwa do i włączając następną spację.t
aby usunąć do tylu znaków. np.d2t<space>
usunie do dwóch spacji.t
jako „till stackoverflow.com/questions/7409134/ ...Możesz użyć dWlub dEzgodnie z sugestią @glenn , jeśli nie chcesz usuwać samego miejsca.
WORD (wielkie litery W) składa się z sekwencji nie wprost, oddzielone białą przestrzeni.
Spójrz na ruchy słów .
źródło
dE
- usuń do końca ciąg znaków innych niż puste (nie obejmuje następującegojednym z możliwych rozwiązań jest użycie funkcji usuwania z wyszukiwaniem.
więc wpisz,
d/<space>
a vim usunie, dopóki nie trafi w spację.źródło
dW
dlatego, że można go również użyć do usunięcia z kursora do dowolnego znaku, na przykład2d/+
w tym przypadku - co spowoduje również usunięcie konkatenacji ciągów.Jeśli chcesz usunąć z dowolnego miejsca wewnątrz WORD, za pomocą jednego polecenia, po prostu użyj
daW
(możesz oczywiście użyć, dawjeśli chcesz ograniczyć się do jednego słowa)
Używam go dość często, ponieważ oszczędza to ruchu na początku słowa (w twoim przypadku)
źródło
usuń dla bieżącej pozycji do konkretnego przykładu znaku "
usunąć słowo od pozycji, na której znajduje się kursor, aż do końca słowa
usuń całe słowo, na którym znajduje się kursor, niezależnie od pozycji, w której znajduje się kursor na słowie, to również przełącza Cię w tryb wstawiania, aby umożliwić natychmiastowe wstawienie.
źródło
dtspacejest odpowiedzią na Twoje pytanie, ale df+wygląda na to, że lepiej rozwiąże Twój problem.
źródło