Bearbeiten von Text mit vim

Bearbeiten von Text mit vim

Ich versuche, in Vim einen Befehl zu schreiben, mit dem ich die Symbole 9 und 11 in der dritten Zeile löschen kann. Ich habe das getan, 3s/9, 11///aber nichts passierte so, wie ich es erwartet hatte. Ich wäre dankbar, wenn ich das mit Ihren Vorschlägen tun könnte. Genauer gesagt: Ich möchte das 9. und das 11. Symbol in der dritten Zeile entfernen. Ich habe beispielsweise drei Zeilen

  1. drei Meter über dem Meer
  2. drei Meter unter dem Meeresspiegel
  3. brauche etwas Hilfe in vim

Daher möchte ich das 9. Symbol in der dritten Zeile löschen, nämlich den Buchstaben „e“ im Wort „some“, und das 11. Symbol, nämlich den Buchstaben „h“ im Wort „help“.

Antwort1

Das mehrfache Zuordnen wird im Abschnitt 27.4 Matching multiple timesvon Kapitel 27 des Benutzerhandbuchs erläutert (siehe :help usr_27.txt).

Der folgende Befehl löscht die ersten 9, 10 oder 11 Zeichen der Zeile 3, wenn die Zeile mindestens 9 Zeichen enthält. Wenn die Zeile weniger Zeichen enthält, wird zurückgegebenE486: Pattern not found:

:3s/.\{9,11}//

Ich bin nicht sicher, ob Sie das möchten. Wenn nicht, aktualisieren Sie bitte Ihre Frage.

Antwort2

Geben Sie im Bearbeitungsmodus Folgendes ein:

08lxl.
  • 0 Cursor an den Zeilenanfang bewegen
  • 8lCursor 8 Zeichen vorwärts bewegen
  • x Zeichen unter dem Cursor löschen
  • l Cursor 1 Zeichen vorwärts bewegen
  • . letzten Befehl wiederholen (x)

Wenn Sie das an eine Taste binden möchten (z. B. ,):

:map , 08lxl.

Jedes Mal, wenn Sie ,danach im Bearbeitungsmodus drücken, werden diese Befehle ausgeführt.

verwandte Informationen