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:-3yankDie 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 :.,+3yankund :,+3yanksind gleich)+nund legen Sie Linien relativ zur aktuellen Position fest -n.Siehe :help [range]für weitere Informationen.
:4yankmit: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]pz. B. mit 10p zehnmal einfügen.
Sie können es in ein benanntes Register wie "a" mit einfügen
:4y a
4G"ayy.