Ich habe in letzter Zeit viele Änderungen an meinem .vimrc
vorgenommen und irgendwo entlang der Linie habe ich ein unerwünschtes Feature eingeführt. Wenn ein Substitutionsbefehl ausgeführt wird, bei dem das Suchtoken mehr als einmal pro Zeile erscheint, wird nur das erste Token geändert (obwohl die verbleibenden Token als Ergebnis der Substitution hervorgehoben sind). Ich habe hier einige Beiträge darüber gesehen, wie Sie dieses Verhalten von Fall zu Fall aktivieren können, aber ich muss noch etwas darüber herausfinden, was dazu führen könnte, dass dies das Standardverhalten ist oder wie es deaktiviert wird. Wenn jemand Ideen hat, würden sie geschätzt werden.
Als Referenz mein .vimrc
( Ссылка ):
Und die folgenden Plugins bilden den Inhalt meines bundle
-Verzeichnisses ( Ссылка ):
Schließlich habe ich alle Plugins deaktiviert, aber das Problem wurde nicht gelöst. Ich habe meine .vimrc
entfernt und das Problem wurde behoben (es ist also keine globale Einstellung außerhalb meiner Kontrolle). Ich habe mehrere individuelle Einstellungen in meinem .vimrc
deaktiviert, aber ich konnte das Problem nicht beseitigen. Irgendwann wurde ich es leid, Maulwurf zu spielen und beschloss, mich an die Gemeinschaft zu wenden. Irgendwelche Ideen?
EDIT: Als Beispiel
Ich benutze den Befehl :%s/foo/foobar/g
Der Text foo bar foo
wird in foobar bar foo
EDIT: Gelöst von pb2q. set gdefault
invertiert das Verhalten von /g
.
Der Befehl substitute akzeptiert den Schalter g
für global, wodurch die Ersetzung für alle Übereinstimmungen in der Zeile bewirkt wird:
Der Standard ist, dass nur das erste Vorkommen der Übereinstimmung ersetzt wird, aber es gibt eine Einstellung, um den Standard auf global umzustellen: gdefault
. Also set gdefault
in deinem vimrc wenn du das als Standardverhalten willst. Probieren Sie es zuerst in der aktuellen vim-Sitzung mit :set gdefault
aus.
Beachten Sie, dass gdefault
nicht nur g
zum Standardverhalten macht, sondern auch die Verwendung des Flags g
, so dass die Verwendung von /g
am Ende eines Ersatzes die Ersetzung verursacht nur einmal gemacht werden.
Siehe: :help gdefault
.
Tags und Links vim substitution