Antworten:
Im Allgemeinen wird d <motion> nach <motion> von der aktuellen Position zur Endposition gelöscht. Dies bedeutet, dass:
Lesen Sie dies , um alle Dinge zu lernen, die Sie mit dem Befehl 'd' kombinieren können.
d<leftArrow>tun dhstatt, da hfür Bewegung ist der Schlüssel links
Ich war schon oft in diesem Szenario. Ich möchte alle Leerzeichen in Zeile 10 entfernen, damit sie nach dem Komma mit Zeile 9 verbunden werden.

Dies ist im Grunde eine einfache Zeilenverbindung in VIM.
kJ macht den Trick (siehe unten)

k= Nach oben, J= Zeile unten mit der aktuellen Zeile mit einem Leerzeichen dazwischen verbinden. Sie können auch kgJohne Leerzeichen beitreten. gJ= Linie unten ohne Leerzeichen dazwischen verbinden. Über Cheatsheet: vim.rtorr.com
Um Punkt 3 zu beantworten, diwund dawsind ausgezeichnet.
dbdie Buchstaben vor dem letzten Buchstaben gelöscht, der letzte Buchstabe bleibt jedoch erhalten.
iund ain der Mitte dieser Befehle tun? Ich weiß, dass der führende d"Löschen" ist, und ich nehme an, dass der nachfolgende w"Wort" ist.
:help text-objects. Der erste Absatz ist sehr kurz und ich denke, er beschreibt ihn sehr gut.
Im Einfügemodus:
Andernfalls:
db (wenn der Cursor hinter dem Wort steht) oder bdwd0(oder d^wenn Sie zum ersten nicht leeren Zeichen löschen möchten)dEoder dtSpacezum Löschen in das erste Leerzeichen oder d/\sEnterzum Löschen in das nächste Leerzeichen.Bearbeiten
Da die Frage so geändert wurde, dass 3 auf das erste Leerzeichen links gelöscht wird, sollte sich meine Antwort ändern in:
dBoder dShiftTSpaceum zum ersten Leerzeichen zurückzukehren oder d?\sEnterum zum vorherigen Leerzeichen zu löschen.Sehen:
:help motion.txt
:help WORD
bdw. Das verbleibende Zeichen (das ursprünglich unter dem Cursor) von dbnervte mich immer wieder.
Ich bin der Meinung, dass keine der Antworten vollständig ist:
Im Allgemeinen starten Sie einen Löschvorgang normalerweise mit d<motion>und selten mit x.
Hinweis: Wenn
Nnicht angegeben, verhält es sich wieN=1(löscht ein einzelnes Zeichen)
Diskrete Zeichen:
<N>x - Löschen Sie N Zeichen rechts
d<N><left-arrow> - Löschen Sie N Zeichen links
d<N><right-arrow> - Löschen Sie N Zeichen rechts
Wortgrenzen:
Hinweis: Das erste vorhergehende / nachfolgende Wort befindet sich unter dem Cursor
d<N>b - Löschen Sie vom Anfang des vorhergehenden N-ten Wortes bis zur aktuellen Position
d<N>e - Von der aktuellen Position bis zum Ende des nachfolgenden N-ten Wortes löschen
d<N>w- Wie d<N>eabereinschließlich nachfolgendem Leerzeichen
diw - Löschen Sie das gesamte Wort unter dem Cursor
daw- Wie, diwjedoch einschließlich nachfolgendem Leerzeichen
Liniengrenzen:
d0 - Löschen Sie vom Zeilenanfang bis zur aktuellen Position
d^ - Löschen Sie vom ersten Nicht-Leerzeichen an die aktuelle Position
d$ - Von der aktuellen Position bis zum Zeilenende löschen
/ <CR>x
(Suche nach einem Leerzeichen vorwärts, drücke die Eingabetaste, um dorthin zu gelangen, x zum Löschen)
Es mag einen magischeren Weg geben, aber ich kenne keinen.
dbschwer erinnern können:5. dw or d<ctrl+rightarrow>und6. db or d<ctrl+leftarrow>