Ich kenne viele Möglichkeiten, Dinge zu kopieren:
yiw
= yank in aktuellem Wort
yaw
= yank alles Wort (schließt ein
yy
abschließendes Leerzeichen ein) = yank die aktuelle Zeile
3yy
= yank drei Zeilen beginnend mit der aktuellen
yap
= yank alle Absätze (schließt abschließende neue Zeile ein)
Ich kann auch ein einzelnes Zeichen löschen oder ändern:
x
= lösche das Zeichen unter dem Cursor
r
= ersetze das Zeichen unter dem Cursor
Aber wie um alles in der Welt kopieren Sie einfach ein einzelnes Zeichen unter den Cursor?
Meine Motivation ist, dass ich in Perl 6 programmiere und einige der Operatoren Unicode-Zeichen sind. Im Moment verwende ich zum Beispiel Tadziks Perl 6 Config :: INI-Code als Ausgangspunkt für einen benutzerdefinierten Parser und hätte gerne nur dieses eine französische Anführungszeichen (einen Hyperoperator) aus dieser Zeile kopiert :
my %hash = $<sections>».ast;
Ich könnte die zweizeilige "Texas" -Version des Hyper-Operators verwenden >>
, aber ich dachte, das >»
sieht besser und weniger zweideutig aus als >>>
:
my %hash = $<sections>>>.ast;
quelle
yl
ytX
("y
ankt
ilX
") scheint zu funktionieren, wennX
sich das Zeichen rechts befindet.conceal
Funktion ausgeblendet / ersetzt wurden ?»
Charakter vor?Antworten:
Zusammensetzen des yank Betrieb mit dem so oft verwendet , „ um ein Zeichen nach rechts“ Bewegung sollte funktionieren:
yl
.Übrigens (um einen OP-Kommentar zu kommentieren), für mich
»
kann auf diese Weise in gVim oder Terminal Vim gezogen werden. Vielleicht ein (Datei-) Codierungsproblem?quelle
»
funktioniert auch gut für mich. Ichvy
ziehe immer einen einzelnen Charakter. Ich bin nicht sicher, warum ich das benutzeyl
, aber vielleicht hatte ich einmal einen bewussten Grund, aber jetzt ist es nur ein Reflex.y<space>
dachte , es das Zeichen unter dem Cursor war Ruck, und ich würde es als eine Antwort hinzuzufügen , aber nachdem die Hilfe Überprüfung Ich stelle fest ,<space>
undl
dasselbe sind.Normalerweise drücke ich
vy
( visuelles Ziehen ), manchmalxu
( Löschen rückgängig machen ) auch. Wenn Sie den Buchstaben vor Ihren Cursor ziehen möchten, können Sie stattdessenlvy
auch drückenXu
. Ich denke, das ist der Grund, warum ichxu
für den Strom drücke . :-)Beachten Sie,
Xu
dass der Cursor auf dieses Zeichen bewegt wird.quelle
hvy
. Ich habe versucht, es zu bearbeiten, aber anscheinend ist das Korrigieren eines Zeichens in einem vim-Befehl keine signifikante Änderung, die akzeptiert werden kann.Die einfachste Möglichkeit, die ich kenne, besteht darin
x
, das Zeichen zu löschen, das es auch in den Puffer legt, und es dannP
zurückzusetzen. Sie können dann den Cursor bewegen und das Zeichen mitp
(nach dem Cursor) oderP
(vor dem Cursor) an der gewünschten Stelle einfügen , solange Sie den Puffer nicht ändern.quelle