Wie am Ende der Zeile setzen?

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 Markierung a 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 durch ma
  • markiert ist

Antwort

Sie möchten „setzen“, nicht „drucken“.

  1. Bewegen Sie den Cursor mit $ an das Ende der Zeile.

  2. Drücken Sie p um den Inhalt des unbenannten Registers zu „setzen“ (was Sie mit yw 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)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.