VIM: An die Zwischenablage anhängen

8

Ich weiß, wie man in die Zwischenablage kopiert, aber wie kann ich an die Zwischenablage anhängen?

p.e. Ich benutze das in meinem Code
let @+ = my_expression

aber das überschreibt die Zwischenablage.

Ich weiß, dass ich das Register a-z verwenden kann, um an
anzuhängen p.e. let @B = my_expression
Anhängen an register b

aber was tun, wenn ich an die Zwischenablage anhängen möchte?

    
Reman 10.06.2011, 08:33
quelle

2 Antworten

13

verwenden:

%Vor%

oder kürzer:

%Vor%

Referenz: :help :let.=

    
Benoit 10.06.2011, 08:37
quelle
8

Wenn Sie keine Makros erstellen, sollten Sie sich auch Register ansehen. :help registers war überwältigend.

In einer überdimensionierten Kurzform gibt es 26 zusätzliche "anpassbare Zwischenablagen", Register genannt, in denen Sie Text ablegen können, beginnend mit a und bis z . Sie fügen Text zu einem Register im Befehlsmodus hinzu, indem Sie " drücken, das Register benennen (zB f ) und dann die "Bewegung" eingeben, die Sie als Text auswählen möchten.

Kopieren mit einem Register (Cursor bei [T]):

Anfangsdateistatus

%Vor%

Geben Sie "fyy im Befehlsmodus ein, um das Register mit einer Zeile zu füllen ( yy ). Geben Sie p (* siehe unten) ein, um es sofort einzufügen. Das Ergebnis der Eingabe von "fyyp ist also genau das Gleiche wie die Eingabe von yyp mit der Standard-Zwischenablage.

Ergebnis

%Vor%

An ein Register angehängt:

Verwenden Sie den Großbuchstaben, um an Ihr bestehendes Register anzuhängen. Im obigen Beispiel nach Einfügen drücken Sie j , um eine Zeile nach unten zu gehen und dann "Fyy . Geben Sie dann p zum Einfügen ein. Sie haben angehängt "Dies ist meine dritte Zeile." zu fs Inhalt.

Ergebnis

%Vor%

(Die Verwendung eines Kleinbuchstabens f hätte den Inhalt von f gelöscht und endete damit, dass nur "This is my dryst line" gedrückt wird.)

Ich habe keine Möglichkeit gefunden, an das Standardregister anzuhängen, so dass Sie mit ein paar zusätzlichen Tastenanschlägen auf "benannte" Register zugreifen müssen, aber mit ein wenig Arbeit ist es eine einfache Möglichkeit, "Zwischenablagen" anzuhängen die Fliege.

  • Warum fügt p , was in f im Register steht, unmittelbar nachdem Sie in f gezogen haben? Weil dein Standardregister die letzte Auswahl enthält und scheinbar nicht einfach das hält, was du zu f hinzugefügt hast, sondern alles, was in f ist, wenn du anfügst. Es mag expositorischer sein zu sagen, im ersten Fall, "das Ergebnis der Eingabe von "fyy"fp ist genau das gleiche wie die Eingabe von yyp mit der Standard-Zwischenablage."
ruffin 05.06.2013 17:01
quelle

Tags und Links