* Jürgen Vollmer schrieb am 09.Jan.2003:
"Heinz W. Pahlke"
:
wie kann ich im vim Textstellen wie "6. 1. 2003" in "6.\,1\,.2003" umwandeln?
Da es sich um sehr viele und unterschiedliche Datumsangaben handelt, scheidet ein ":%s/6\. 1\. 2003/6\.\\,1\.\\,.2003/g" aus.
Das Suchen der betreffenden Stellen ist uebrigens mit "/[0-9]\. [0-9]\. 2003" kein Problem. Bloss ein ":%s/[0-9]\. [0-9]\. 2003/[0-9]\.\\,[0-9]\.\\,2003/g" funktioniert natuerlich nicht wie gewuenscht.
":%s/\([0-9]\)\. \([0-9]\)\. 2003/\1.\\,\2.\\,2003/g"
Auf den Inhalt von \( .. \) kann man mit \1 \2 usw zugreifen, wobei die \( von links nach rechts gezählt werden. Das geht in den meisten Ersetzungsprogrammen, die auf regulären Programmen basieren (also sed, emacs, perl etc)
Nur, daß man bei manchen (...) statt \(...\) verwenden muß, mit dem jeweilig anderen ist die Klammer selber, als Text, gemeint. Wenn es nicht allzuviele Ersetzungen sind, gibt es bei vim aber auch eine ganz andere Möglichkeit, die einem das Nachdenken erspart: Gehe, in diesem Fall, zu dem ersten . der ersetzt werden soll, und gib dort s.\,<ESC> ein. Dadurch wird der Punkt ersetzt. Nun geh zum nächsten Punkt und ersetze dem, indem Du . eingibst. Hier ist es zufällig das gleiche Zeichen, hat aber nichts damit zu tun. Ganz allgemein wiederholt . die letzte Einfügung oder Ersetzung. Ist oftmals schneller als zu überlegen, wie ein Ersetzungskommando auszusehen hat. Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12