VI - Füge etwas an der ersten Position/dem ersten Zeichen einer Zeilenfolge ein

VI - Füge etwas an der ersten Position/dem ersten Zeichen einer Zeilenfolge ein

Ich möchte ein Zeichen herausziehen und an der ersten Stelle der Zeilenfolge einfügen. Beispielsweise muss ich vor 7 Zeilen einer Datei ein „#“ einfügen.

Kann mir jemand helfen?

Antwort1

Es hängt weitgehend davon ab, was Sie aufrufen vi. Wenn es wirklich original-vi ist, können Sie dies tun, indem Sie

  • Tippen Sie yl, um ein Zeichen beginnend an der Cursorposition eine Zelle nach rechts zu „ziehen“.
  • Bewegen Sie den Cursor zur ersten Zeile, in der Sie Text einfügen möchten
  • wiederholtes Tippen0PEnter , dabei die sieben Zeilen durchgehen.

In Original-VI konnte man nur einen Zeilenbereich beeinflussen mitexModus. DerexDer Modus viakzeptiert einen Bereich, aber der analoge Befehl

:1,7P

würde nichtputACharakter, aber versuchen Sie etwas mitLinien. VielmehrexModus, würden Sie eineErsatz, z.B,

:1,7s/^/X/

aber es gibt keine Möglichkeit für eineRegisterwert(die Charaktere, die Siegerissen), das bei der Ersetzung verwendet werden soll.

Weiterführende Literatur:

Antwort2

Hinweis: Diese Antwort funktioniert nur für VIM, nicht für VI.

Sie können es in eine Spalte ziehen, indem Sie:

  1. Starten im Normalmodus (nicht einfügen).
  2. Gehen Sie zur ersten Zeile und Spalte (wo Sie den Text einfügen möchten).
  3. Drücken Sie Ctrl+, Vum in den vertikalen Auswahlmodus zu wechseln.
  4. Wenn Sie alle Zeilen ausgewählt haben, vor denen Sie Ihren Text einfügen möchten, drücken Sie Shift+ I.
  5. Nun können Sie entweder
    1. Fügen Sie Ihren extrahierten Text mit Ctrl+ R, 0(oder einem anderen Register) ein.
    2. oder schreiben Sie einen beliebigen Text.
  6. Wenn Sie fertig sind, drücken Sie Esc. Der gleiche Text wird in allen ausgewählten Zeilen angezeigt.

Randbemerkung: Sie können Ihre Vi(m)-Fragen auch hier stellen:vi.stackexchange.com

verwandte Informationen