ich einen Ersatz-Befehl für vim vor kurzem gefunden, wo der Autor die /
durch ein !
wie diese ersetzt hatte: :%s!foo!bar
und ich verstehe nicht den Unterschied mit den traditionnal :%s/foo/bar
.Vim, was die Verwendung von Ausrufezeichen in Ersatz-Befehl ist
Ich suchte einige Dokumentation über diese Syntax, aber ich fand nichts relevantes, also versuchte ich, selbst zu experimentieren, und ich konnte den Unterschied zwischen den zwei Formen nicht klar herausfinden. Hier ist, was ich gefunden habe:
- Sie nicht
/
und!
im selben Befehl mischen. Zum Beispiel::%s/foo!bar
wird fehlschlagen. - Das Zeichen
!
kann mit Mustern einschließlich einer/
nützlich sein. Zum Beispiel, wenn ich</
durch%
in meiner Datei ersetzen möchte, kann ich:%s!</!%!g
statt:%s/<\//%/g
tun: Ich muss/
im ersten Befehl nicht entkommen, aber ich würde überrascht sein, wenn das die einzige Verwendung von!
war. - Einige Regex scheint mit
/
zu scheitern und arbeiten mit!
Property aber ich bin weit davon entfernt, ein Regex-Master zu sein Ich bin mir nicht sicher über diesen Punkt.
Also meine Frage ist: Was ist der Unterschied zwischen /
und !
in vim Substitution und wann sollte ich eine statt des anderen?
Diese Frage wurde [auch bei vi.stackexchange veröffentlicht] (http://vi.stackexchange.com/q/3156/51). – Carpetsmoker
In der Tat habe ich aus Versehen eine Doppelpost gemacht, die ich auf vim markiert habe, um zu wissen, was ich tun soll. – statox