vim Kopieren und Ersetzen von Text

8

Sagen wir, dass ich diesen Text habe:

%Vor%

und ich möchte lorem kopieren und in ipsum einfügen. Ich habe versucht, yi' auf lorem zu machen und ging dann auf ipsum und tat ci' , aber das ersetzte meine Pastebin durch ipsum. und meine vorherige Kopie war verloren.

    
Gabriel Solomon 06.03.2009, 15:15
quelle

10 Antworten

7

yi auf lorem, gehe zu i of ipsum, vep ?

    
chaos 06.03.2009, 15:26
quelle
9

Einfach:

"kyi" auf Lorem, gehe zu i von ipsum, ve "kp

Das löscht Lorem in registriert k, fügt es über ipsum von k ein, und behält es in register k bereit, um es überall wieder einzufügen sonst könntest du es vielleicht sagen. ipsum landet immer noch im Standardregister, aber das ist kein Problem mehr und könnte auch nützlich sein.

Wenn Sie bereits etwas in Register k haben, können Sie stattdessen ein anderes Register verwenden (verwenden Sie einfach einen anderen Schlüssel).

    
sampablokuper 11.06.2009 14:45
quelle
5

Normalerweise gehe ich zum Befehl sed.

%Vor%
  • % bedeutet dies für jede Zeile
  • tun
  • s bedeutet sed, oder suchen und ersetzen
  • g am Ende bedeutet ersetzen jedes ipsum mit lorem ; Wenn Sie das weglassen, ersetzt es nur das erste.
Scottie T 06.03.2009 15:25
quelle
3

Gehe zum l von Lorem, ye (zum Ende des Wortes). Gehe zum i von ipsum, "_de (lösche bis zum Ende des Wortes und lege den gelöschten Text in das schwarze Lochregister. P (Register vor dem Cursor einfügen).

Insgesamt: yej "_deP

    
Michiel de Mare 06.03.2009 16:12
quelle
2

Warum ziehst du nicht in einen benannten Puffer, indem du "ayi' benutzt, dann löschst du es und fügt es mit d'i"aP ein?

    
Paul Tomblin 06.03.2009 15:24
quelle
1

Ich bin mir nicht sicher, was genau Sie wollen.

Sie haben dies in zwei Zeilen:

%Vor%

Wenn du nach l und yw gehst, reißt es Lorem, dann gehe zu i von ipsum und cw und p und es wird ipsum durch lorem ersetzen. Sie werden immer noch Lorem und Ipsum in den Registern haben.

Sie können den Inhalt dieser Register mit reg

abrufen

Wenn Sie etwas von ihnen einfügen möchten, dann "* p, oder": p, oder "0p (Sie sehen es, wenn Sie eingeben: reg)

    
Rook 06.03.2009 15:25
quelle
0

Wörter hier, um zu verhindern, dass Markdown den folgenden Code als einfachen Text behandelt.

%Vor%

Der erste Text sucht nach 'Lorem'; Die nächste löscht das Wort in den Puffer mit dem Namen "a" und hinterlässt ein Paar leerer Anführungszeichen im Text. Die nächste Suche findet 'ipsum'; Die "aP zieht den Puffer mit dem Namen 'a' vor dem Wort ipsum; Das "bdw löscht das Wort in den Puffer mit dem Namen 'b' und lässt 'Lorem' zurück. Der doppelte Back-Tick geht zurück zu dem Ort, von dem die letzte Suche kam - die leeren Zitate; und "bp zieht den benannten Puffer nach dem ersten Zitat.

Sie können auch die "a und "b weglassen, aber auf diese Weise sind die Werte in den benannten Puffern "a und "b und können wieder kopiert werden, und wieder und wieder, bis Sie nicht brauche die Werte nicht mehr.

    
Jonathan Leffler 06.03.2009 15:56
quelle
0

Nachdem Sie ci' auf impsum eingegeben haben, befindet sich Ihr Lorem in "0 . Also kannst du ci'^R0 ( ^R bedeutet Ctrl+r ) und dein Lorem anstelle von ipsum einfügen.

Siehe :help quote_number für weitere Informationen zu nummerierten Registern.

    
Paul 06.03.2009 16:53
quelle
0

vi'y auf lorem

vi'p auf ipsum

gvy kopiert lorem zurück, um sich für ein mögliches Makro mit vi'p

zu registrieren

( qa - gvy - j - vi'p - q - @a - @@ - @@ ...)

    
arcanex 06.03.2009 18:16
quelle
-1

Sie möchten y zum Kopieren einer Auswahl und p zum Einfügen verwenden.

Hier ist eine gute Liste, um sie griffbereit zu haben.

    
Andrew Hare 06.03.2009 15:25
quelle

Tags und Links