Odpowiedzi:
Ogólnie rzecz biorąc, d <motion> usunie od bieżącej pozycji do pozycji końcowej po <motion>. To znaczy że:
Przeczytaj ten artykuł, aby dowiedzieć się wszystkiego, co możesz łączyć z poleceniem „d”.
d<leftArrow>zrób to dh, ponieważ hjest kluczem do ruchu w lewo
Byłem w tym scenariuszu wiele razy. Chcę pozbyć się wszystkich spacji w wierszu 10, aby łączył się z wierszem 9 po przecinku.

Jest to w zasadzie proste łączenie linii w VIM.
kJ załatwia sprawę (patrz poniżej)

k= Góra, J= Połącz linię poniżej z bieżącą z jedną spacją pomiędzy. Możesz też kgJdołączyć bez spacji. gJ= Połącz linię poniżej bez spacji pomiędzy. Przez ściągawkę: vim.rtorr.com
Aby odpowiedzieć na punkcie # 3, diwi dawsą doskonałe.
dbusuwa litery poprzedzające ostatnią literę, ale nadal pozostawia ostatnią literę.
ii aco robią w środku tych poleceń? Wiem, że początek dto „usuń”, a zakładam, że na końcu wjest „słowo”.
:help text-objects. Pierwszy akapit jest bardzo zwięzły i myślę, że bardzo dobrze go opisuje.
W trybie wstawiania:
Inaczej:
db (jeśli kursor znajduje się po słowie) lub bdwd0(lub d^jeśli chcesz usunąć do pierwszego niepustego znaku)dElub, dtSpaceaby usunąć do pierwszej spacji lub d/\sEnterusunąć do następnego znaku odstępu.Edytować
Ponieważ pytanie zostało zmienione w taki sposób, że 3 jest usuwane do pierwszego białego znaku po lewej stronie, moja odpowiedź powinna zmienić się na:
dBlub, dShiftTSpaceaby usunąć z powrotem do pierwszej spacji lub, d?\sEnteraby usunąć do poprzedniego znaku odstępu.Widzieć:
:help motion.txt
:help WORD
bdw. Pozostała postać (ta pierwotnie pod kursorem) dbwciąż mnie irytowała.
Czuję, że żadna z odpowiedzi nie jest kompletna:
Ogólnie rzecz biorąc, operację usuwania zwykle rozpoczynasz używając d<motion>, a rzadko używając x.
Uwaga: jeśli
Nnie jest określony, zachowuje się jak gdybyN=1(usuwa pojedynczy znak)
Dyskretne znaki:
<N>x - Usuń N znaków po prawej stronie
d<N><left-arrow> - Usuń N znaków po lewej stronie
d<N><right-arrow> - Usuń N znaków po prawej stronie
Granice słów:
Uwaga: Pierwsze słowo poprzedzające / następne to słowo pod kursorem
d<N>b - Usuń od początku poprzedniego N-tego słowa do aktualnej pozycji
d<N>e - Usuń od bieżącej pozycji do końca następnego N-tego słowa
d<N>w- To samo co, d<N>eale z końcowymi odstępami
diw - Usuń całe słowo pod kursorem
daw- To samo co, diwale z końcowymi odstępami
Granice linii:
d0 - Usuń od początku wiersza do aktualnej pozycji
d^ - Usuń od pierwszego niebiałego znaku do bieżącej pozycji
d$ - Usuń od aktualnej pozycji do końca wiersza
/ <CR>x
(wyszukaj spację do przodu, naciśnij enter, aby tam przejść, x, aby usunąć)
Może jest na to bardziej magiczny sposób, ale ja go nie znam.
dbtrudny do zapamiętania:5. dw or d<ctrl+rightarrow>i6. db or d<ctrl+leftarrow>