Angenommen, ich bin in Zeile 20 und möchte Zeile 4 ziehen. Wie kann ich das tun?
Und in ähnlicher Weise kann ich eine Linie relativ zu meiner Cursorposition ziehen, sagen wir die 3 Linien nach oben?
Angenommen, ich bin in Zeile 20 und möchte Zeile 4 ziehen. Wie kann ich das tun?
Und in ähnlicher Weise kann ich eine Linie relativ zu meiner Cursorposition ziehen, sagen wir die 3 Linien nach oben?
Antworten:
Von :help :yank
:
:[range]y[ank] [x] Yank `[range]` lines [into register x].
Also, um Zeile 4 zu reißen, würde man schreiben:
:4yank
Beachten Sie, dass Sie dies im Einfügemodus einfach mit tun können <C-o>
. Auf diese Weise können Sie einen Befehl ausführen und anschließend in den Einfügemodus zurückkehren. zum Beispiel:
<C-o>:4yank
Sie können natürlich auch andere Bereiche verwenden. Einige Beispiele:
:1,3yank
:%yank
:.,$:yank
:.,+3yank
:-3,.yank
:-3yank
Die nützlichsten Dinge, an die Sie sich über Bereiche erinnern sollten:
:line1,line2command
..
ist die aktuelle Zeile (Sie können den Punkt in den meisten Fällen weglassen :.,+3yank
und :,+3yank
sind gleich)+n
und legen Sie Linien relativ zur aktuellen Position fest -n
.Siehe :help [range]
für weitere Informationen.
:4yank
mit:4y
Neben den Ex-Modus-Befehlen, die Sie haben, können Sie dies auch im Befehlsmodus erreichen, z. B .: 4GY''
- was bedeutet: Gehe zu Zeile 4 ( 4G
), Yank-Zeile ( Y
) und kehre zur vorherigen Zeile ( ''
) zurück.
Sie können auch Sprungmarken verwenden. für Ihre zweite Frage, zB durch: mm3kY'm
- was bedeutet: Setzen Sie die Markierung m ( mm
), gehen Sie drei Zeilen nach oben ( 3k
), ziehen Sie die Linie ( Y
) und kehren Sie zur Markierung m ( 'm
) zurück.
Einfach eintippen
:4y
zu reißen Linie 4
es wird in das unbenannte Register eingetragen. Dann können Sie (zum Beispiel) verwenden p
, um es an einer anderen Stelle abzulegen. Sie können es auch [n]p
z. B. mit 10p zehnmal einfügen.
Sie können es in ein benanntes Register wie "a" mit einfügen
:4y a
4G"ayy
.