1968 Stimmen

Wie dupliziere ich eine ganze Zeile in Vim?

Wie dupliziere ich eine ganze Zeile in Vim in ähnlicher Weise wie Ctrl + D in IntelliJ IDEA/ Resharper oder Ctrl + Alt + / sur Eclipse ?

61 Stimmen

Wird Vimtutor nicht mehr benutzt? Dies ist wahrscheinlich innerhalb der ersten fünf Minuten des Lernens, wie man Vim benutzt.

213 Stimmen

Würden Sie diese Zeile gerne vervielfältigen? Y es P Pacht. :)

10 Stimmen

FWIW ich habe vimtutor etwa ein Dutzend Mal in den letzten 2 Monaten gemacht und dieses Konzept ist nicht abgedeckt. Er sagt, wie man "dd" und "v - navigieren - y" gefolgt von "p" macht. Es wird nicht erklärt, wie man eine einzelne Zeile kopiert, ohne sie zu löschen, wie es hier gefragt wird.

5voto

Chris Penner Punkte 1851

Standard ist yyp aber ich benutze diesen Einband seit etwa einem Jahr und liebe ihn:

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv

3voto

cori Punkte 8388

1 Problem: Wenn Sie "p" verwenden, um die Zeile zu setzen, wird sie nach Wenn Sie also die Zeile nach der Zeile, die Sie verschieben, hinzufügen möchten, bewegen Sie den Cursor nicht eine Zeile nach unten, bevor Sie die neue Zeile einfügen.

5 Stimmen

Oder mit großem P - vorangestellt

3voto

ap-osd Punkte 2196

Für diejenigen, die mit dem Erlernen von vi beginnen, gibt es hier eine gute Einführung in vi, indem vi-Befehle und typische Windows-GUI-Editor-Cursorbewegungen und Tastenkombinationen nebeneinander aufgeführt werden. Es werden alle grundlegenden Befehle aufgeführt, darunter yy (Kopierzeile) und p (danach einfügen) oder P (vorher einfügen).

vi (Vim) für Windows-Benutzer

3voto

jedi Punkte 1644

Wenn Sie eine Zeile duplizieren und direkt unter der aktuellen Zeile einfügen möchten, genau wie in Sublime Ctrl + Shift + D dann können Sie dies zu Ihrer .vimrc Datei.

nmap <S-C-d> <Esc>Yp

Oder, für den Einfügemodus:

imap <S-C-d> <Esc>Ypa

0 Stimmen

Damit bleibt allerdings der Einfügemodus übrig, und das Hinzufügen von i bis zum Ende, um es erneut einzugeben, unterbricht undo Die Lösung für das Duplizieren von Zeilen im Einfügemodus ist also nicht so trivial, wie es scheint.

0 Stimmen

Das funktioniert bei mir einwandfrei: imap <S-C-d> <Esc>Ypi Einfügemodus und nmap <S-C-d> <Esc>Yp im Normalbetrieb

1voto

yolenoyer Punkte 7821

Ich verwende gerne dieses Mapping:

:nnoremap yp Yp

weil es eine konsistente Verwendung neben dem nativen YP Befehl.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X