Mit vim möchte ich alle Zeichen bis zu einem bestimmten Zeichen durch ein anderes Zeichen ersetzen, z. B. ein Leerzeichen - ohne , das sich auf das Layout / die Anzahl der Zeichen in der Zeile auswirkt. Hier ist ein Beispiel:
Vorher:
%Vor% Nach dem Ersetzen von , intent(out)
durch Leerzeichen (d. h. beginnend mit ,
und hinauf zu )
):
Ich weiß über r
, um ein Zeichen zu ersetzen, und über nr
, um n
-Zeichen zu ersetzen, aber ich würde gerne wissen, ob ich meine Aufgabe erfüllen kann, ohne zuerst die Zeichen zählen zu müssen, die ich ersetzen möchte.
Vielen Dank für Ihre Antworten!
Ich weiß über r, um ein Zeichen zu ersetzen
Wusstest du, dass R dich in diesem Ersetzungsmodus hält? Sie könnten also R drücken und dann Space halten, bis Sie alles, was Sie wollen, ersetzt haben.
Allerdings würde ich immer noch mit Thors Antwort gehen. Im visuellen Modus können Sie die effizienten Methoden zur Textnavigation in vim verwenden, ohne Zeichen auszählen zu müssen.
Aber wenn Sie nicht zustimmen, gibt es immer EasyMotion .
Geben Sie im Befehlsmodus df ein. bis zu diesem (?) Zeichen löschen. Dann ' ich ', um zum Einfügen zurückzukehren.
Zum Beispiel, wenn der folgende Satz in Ihrer Ansicht ist:
%Vor%und Sie geben dfs
einSie werden verlassen mit:
%Vor% Sie können hier den regulären Ausdruck verwenden (verwenden Sie (.*?)
, um alle Werte bis zu einem Token zu referenzieren).
Zum Beispiel:
Der Regex: (.*?)foo
wird alles bis foo los.