Bei Einfügungen ist es sehr einfach, ein Wort / einen Abschnitt sowohl auszulöschen als auch einzufügen, wie in
cw
lösche bis zum Ende des Wortes (mit Leerzeichen) und gehe dann in den Einfügemodus ce
lösche bis zum Ende des Wortes (ohne Leerzeichen) und gehe dann in den Einfügemodus c3w
lösche bis zum Ende der nächsten 3 Wörter (mit Leerzeichen) und gehe dann in den Einfügemodus ct.
lösche bis vor der Periode und gehe dann in den Einfügemodus c$
löschen bis zum Ende der Zeile und dann in den Einfügemodus Wie mache ich das mit Einfügen Operationen? Oft habe ich eine Zeile wie folgt
%Vor%Und ich ändere es zu
%Vor% Und yank ( yw
) "Lee", aber jetzt, wenn ich "Smith" von "Jane Smith" lösche ( dw
), habe ich nicht mehr "Lee" im Register zum Einfügen. Ich weiß, dass ich die genannten Register benutzen kann. Ich bin mir sicher, dass ich den visuellen Modus verwenden kann. Ich denke jedoch, da dies eine ziemlich häufige Aufgabe ist, wäre es eine Möglichkeit, die Bewegungsoperatoren zu verwenden ( e
, w
, t
/ T
, f
/ F
, $
, 0
) mit dem Befehl paste, um anzugeben, was eingefügt werden soll.
Ich denke, visueller Modus ist der Weg zu gehen. Sie können den visuellen Modus nur mit v oder V aktivieren (wenn Sie ganze Zeilen gleichzeitig überschreiben möchten), verwenden Sie die Bewegungsoperatoren auf die übliche Weise, um den zu bearbeitenden Bereich auszuwählen ersetzt und dann einfügen. Sie profitieren von dem, was Sie bereits wissen.
V p überschreibt die aktuelle Zeile. v w p überschreibt das aktuelle Wort.
Eine Übersicht der Alternativen finden Sie im Vim Wikia .
Oh ja, was du willst, ist das ultrakomfortable (Sarkasmus-) Schwarzloch-Register: wähle im sichtbaren Modus den Teil, den du ersetzen willst, benutze die gewünschte Bewegung (wie vw
), dann " _ x P
Das schwarze Lochregister _
ist ein spezielles Register, das mit /dev/null
vergleichbar ist. Die Operation "
setzt das Zielregister für den Text, den Sie ersetzen wollen, und somit stellt "_
sicher, dass der unerwünschte "Smith" das Blackhole-Register trifft. Daher wird "Lee" im "
-Register beibehalten. Ich würde empfehlen, Makros zu verwenden, wenn Sie dies oft hintereinander tun.
Sie können immer ein benutzerdefiniertes Mapping machen, ich habe folgendes:
nnoremap ,pw viw"0p
Über den inner word (iw)
wird der letzte gerissene Text eingefügt. Beachten Sie, dass ich das 0-Register verwende, sodass ich beliebig oft einfügen kann, ohne den gerissenen Text zu verlieren. Leider müssen Sie einige andere Mappings schreiben. Ich mag eine Zuordnung, um inside quote
, inside brackets
und inside parentheses
einzufügen:
Tags und Links vim copy-paste paste yank