Frage Dupliziere eine ganze Zeile in Vim


Wie kopiere ich eine ganze Zeile in Vim auf ähnliche Weise Strg+D in IntelliJ IDEA / Resharper oder Strg+Alt+/ in Eclipse?


1307
2017-09-16 15:02


Ursprung


Antworten:


yy oder Y um die Zeile zu kopieren
oder
dd um die Linie zu löschen (zu schneiden)

dann

p um den kopierten oder gelöschten Text einzufügen nach die aktuelle Zeile
oder
P um den kopierten oder gelöschten Text einzufügen Vor die aktuelle Zeile


2241
2017-09-16 15:06



Normaler Modus: Siehe andere Antworten.

Das Ex Weg:

  • :t. wird die Linie duplizieren,
  • :t 7 wird es nach Zeile 7 kopieren,
  • :,+t0 kopiert aktuelle und nächste Zeile am Anfang der Datei (,+ ist ein Synonym für den Bereich .,.+1),
  • :1,t$ kopiert Zeilen vom Anfang bis zur Cursorposition bis zum Ende (1, ist ein Synonym für den Bereich 1,.).

Wenn Sie sich bewegen müssen, anstatt zu kopieren, verwenden Sie :m Anstatt von :t.

Dies kann sehr effektiv sein, wenn Sie es mit kombinieren :g oder :v:

  • :v/foo/m$ verschiebt alle Zeilen, die nicht mit dem Muster "foo" übereinstimmen, an das Ende der Datei.
  • :+,$g/^\s*class\s\+\i\+/t. kopiert alle nachfolgenden Zeilen des Formulars class xxx direkt nach dem Cursor.

Referenz: :help range, :help :t, :help :g, :help :m und :help :v


356
2018-04-17 15:17



YP oder Yp oder yyp.


272
2017-09-16 15:07



copy and paste in vim

Einfacher geht es nicht! Vom normalen Modus:

yy

Bewegen Sie sich dann zu der Zeile, in die Sie einfügen möchten

p

213
2018-02-07 22:20



yy

wird die aktuelle Zeile ziehen, ohne sie zu löschen

dd

löscht die aktuelle Zeile

p

werden put eine Zeile, die mit einer der beiden vorherigen Methoden erfasst wurde


44
2017-09-16 15:04



Wenn du einen anderen Weg willst :-)

"ayy  Dies speichert die Zeile im Puffer a

"ap   Dies wird den Inhalt des Puffers setzen a am Cursor.

Es gibt viele Variationen dazu.

"a5yy  Dies speichert die 5 Zeilen im Puffer a

sehen http://www.vim.org/htmldoc/help.html für mehr Spaß


37
2017-09-16 15:37



yyp - Erinnere dich daran mit "Yippee!"

Mehrere Zeilen mit einer Nummer dazwischen:

y7yp


35
2017-09-16 15:16



Mach das:

Zuerst, yy um die aktuelle Zeile zu kopieren und dann p einfügen.


33
2017-09-16 15:04



yyp - danach einfügen

yyP - vorher einfügen


19
2017-10-12 18:23



Sie können auch <C-x> <C-l> versuchen, was die letzte Zeile des Einfügemodus wiederholt und Ihnen ein Abschlussfenster mit allen Zeilen bringt. Es funktioniert fast wie <C-p>


11
2017-09-18 20:32



Eine andere Option wäre, mit zu gehen:

nmap <C-d> mzyyp`z

bietet Ihnen den Vorteil, die Cursorposition zu erhalten.


11
2017-07-14 04:37