Wie setze ich am Ende der Zeile mit vim?
Ich möchte p
, um Text am Ende der aktuellen Zeile einzufügen, ohne den Cursor zu bewegen.
Bearbeiten:
Zum Beispiel möchte ich ein Wort so an das Ende der Zeile kopieren Ich verwende yw
, um das Wort zu kopieren, und wie kann ich es dann an das Ende der aktuellen Zeile setzen?
Kommentare
- Was meinst du?
- Wenn du ein Mapping willst, kannst du dies versuchen:
nnoremap ,p m'yiw$p``
. Drücken Sie,p
und das Wort unter dem Cursor sollte am Ende der Zeile eingefügt werden. Sie ' benötigen den Platz am Ende nicht, es ist ' hier, weil ich ' weiß nicht, wie man Code mit einem doppelten Backtick ohne diesen formatiert.
Antwort
Wenn Sie Ihren möchten Cursor zurück an die vorherige Position, nachdem der Text am Ende der Zeile eingefügt wurde, können Markierungen verwendet werden:
ma$p`a
-
ma
setzt die Markierunga
auf die aktuelle Position -
$p
Wie erläutert werden die anderen Antworten angegeben Der Text am Ende der Zeile -
(backtick)a
kehrt zu der Position zurück, die durchma
markiert ist
Antwort
Sie möchten „setzen“, nicht „drucken“.
-
Bewegen Sie den Cursor mit
$
an das Ende der Zeile. -
Drücken Sie
p
um den Inhalt des unbenannten Registers zu „setzen“ (was Sie mityw
gezogen haben) nach dem Cursor.
Siehe :help p
, :help registers
, :help :print
.
Kommentare
- Ja, tut mir leid! Ich möchte jedoch bis zum Zeilenende drucken, ohne die Cursor zu bewegen. Ist das möglich?
- Nein. Sie müssen den Cursor an die Stelle bewegen, an der Sie ihn platzieren möchten.
Antwort
Wenn ich das richtig verstehe, Sie möchte ein Wort am Ende der Zeile einfügen.
Sie können dies tun mit:
$p
$
Bewegen Sie den Cursor an das Zeilenende. p
put.
Der Befehl print
wird andererseits verwendet, um Zeilen Ihrer Datei anzuzeigen, z. B.
:1,2p "print the first and second line.
Ref:
-
:h p
(put) -
:h :p
(drucken)