Hallo, 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. Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim? Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
* Am Don, 09 Jan 2003 schrieb 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.
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Mit Vim geht alles ;-) Nur als Beispiel für "6. " in "6.\,", Erweiterung entsprechend :%s/\([0-9]\.\)\ /\1\\,/ Durch die Klammern gruppierst Du ein pattern und kannst es hinterher mit \1 wieder referenzieren, entsprechend \2 für die zweite geklammerte Gruppe usw... Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
Hallo, On 09-Jan-2003 Christoph Maurer wrote:
* Am Don, 09 Jan 2003 schrieb Heinz W. Pahlke:
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Mit Vim geht alles ;-)
Haette mich auch sehr gewundert :-))
Nur als Beispiel für "6. " in "6.\,", Erweiterung entsprechend :%s/\([0-9]\.\)\ /\1\\,/
Durch die Klammern gruppierst Du ein pattern und kannst es hinterher mit \1 wieder referenzieren, entsprechend \2 für die zweite geklammerte Gruppe usw...
Danke. Genial :-))) Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On Thursday 09 January 2003 18:58, Heinz W. Pahlke wrote:
Hallo,
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.
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Beste Gruesse,
Heinz.
Hallo Heinz, du kannst auf sogenannte 'atoms' von regulaeren Ausdrucken mittels \1, \2, ... im ersetzenden String zugreifen. Man kann auch komplexere Suchmuster zu 'atoms' zusammenfassen mittels '\(SUCHMUSTER\)', z.B. %s/\([0-9]\.\) \([0-9]\)\./\1\\,\2\\,\./g Das erste gruppierte 'atom' ist '\([0-9]\)', auf das kannst du dann mit '\1' zugreifen. Ciao
Hallo, On 09-Jan-2003 Sebastian Huber wrote:
du kannst auf sogenannte 'atoms' von regulaeren Ausdrucken mittels \1, \2, ... im ersetzenden String zugreifen. Man kann auch komplexere Suchmuster zu 'atoms' zusammenfassen mittels '\(SUCHMUSTER\)', z.B.
%s/\([0-9]\.\) \([0-9]\)\./\1\\,\2\\,\./g
Das erste gruppierte 'atom' ist '\([0-9]\)', auf das kannst du dann mit '\1' zugreifen.
Wenn man weiss, wonach man suchen soll, sind die Loesungen oft erstaunlich einfach. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On Don, 09 Jan 2003 at 18:58 (+0100), Heinz W. Pahlke wrote:
Hallo,
wie kann ich im vim Textstellen wie "6. 1. 2003" in "6.\,1\,.2003" umwandeln?
Meinst Du das so rum oder eher "6.\,1.\,2003"? So interpretiere ich Deinen Ansatz unten.
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.
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Doch, ähnlich sed: :1,$s/\([0-9]\.\)\([0-9]\.\)2003/\1\\,\2\\,2003/ Die entwerteten () bilden die Puffer für die Ersetzungen durch \1, \2, ... Jan
Hallo, On 09-Jan-2003 Jan Trippler wrote:
On Don, 09 Jan 2003 at 18:58 (+0100), Heinz W. Pahlke wrote:
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Doch, ähnlich sed: :1,$s/\([0-9]\.\)\([0-9]\.\)2003/\1\\,\2\\,2003/
Nur dass ich diese Konstruktion fuer sed genauso wenig kannte. Deshalb bevorzuge ich inzwischen auch den vim. Da lassen sich missglueckte Ersetzungen mit u so herrlich schnell rueckgaengig machen. Und bei laeuft eben vieles mit trial and error ab. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Hallo, On Thu, 09 Jan 2003, Heinz W. Pahlke wrote:
On 09-Jan-2003 Jan Trippler wrote:
On Don, 09 Jan 2003 at 18:58 (+0100), Heinz W. Pahlke wrote:
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Doch, ähnlich sed: :1,$s/\([0-9]\.\)\([0-9]\.\)2003/\1\\,\2\\,2003/
Nur dass ich diese Konstruktion fuer sed genauso wenig kannte.
Heinz, du solltest mehr Threads mit (je mind. 2. von) Jan, Bernd und mir lesen... ;) IIRC gab's da schon "quasi" sed-Einfuehrungen... -dnh -- There is a green, multi-legged creature crawling on your shoulder.
Hallo, On 09-Jan-2003 David Haller wrote:
Heinz, du solltest mehr Threads mit (je mind. 2. von) Jan, Bernd und mir lesen... ;) IIRC gab's da schon "quasi" sed-Einfuehrungen...
Ich lese sie nicht nur, sondern archiviere sie sogar :-)) Sonst muesste ich hier viel mehr fragen. Aber wenn das Zusammenbasteln von Suchen- und Ersetzenstrings laenger dauert als das manuelle Ersetzen, dann suche ich eben mit dem vim und ersetze kurzentschlossen mit copy and paste. Bloss diesmal wurde der Leidensdruck eben zu gross ;-)) Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On Don, 09 Jan 2003 at 21:53 (+0100), Heinz W. Pahlke wrote:
On 09-Jan-2003 Jan Trippler wrote:
On Don, 09 Jan 2003 at 18:58 (+0100), Heinz W. Pahlke wrote:
Oder geht diese Art des Ersetzens gar nicht mit den Bordmitteln des vim?
Doch, ähnlich sed: :1,$s/\([0-9]\.\)\([0-9]\.\)2003/\1\\,\2\\,2003/
Nur dass ich diese Konstruktion fuer sed genauso wenig kannte. Deshalb bevorzuge ich inzwischen auch den vim. Da lassen sich missglueckte Ersetzungen mit u so herrlich schnell rueckgaengig machen. Und bei laeuft eben vieles mit trial and error ab.
Da hast Du recht ;-) Was denkst Du, wie oft ich rumgeflucht habe, wenn ich mal wieder mit dem Original-vi arbeiten musste (da gibts nur 1 undo - *urrggs*) Was mir noch einfiel: Ab und zu werden ja Tages- und Monatsangaben 2-stellig: :1,$s/\([0-9]\{1,2\}\.\)\([0-9]\{1,2\}\.\)2003/\1\\,\2\\,2003/ Jan
Hallo, On 10-Jan-2003 Jan Trippler wrote:
Was mir noch einfiel: Ab und zu werden ja Tages- und Monatsangaben 2-stellig:
Klar, aber ich gehe immer davon aus, dass das Erweitern einen nicht mehr vor unloesbare Probleme stellen sollte. Meine Konstruktion :%s/\([0-9]\)\([0-9]\)\. /\1\2./g mag zwar nicht sehr schoen sein, aber sie funktioniert offenbar, wie ich eben probiert habe.
:1,$s/\([0-9]\{1,2\}\.\)\([0-9]\{1,2\}\.\)2003/\1\\,\2\\,2003/
^^^ ? Weder :help 1 noch :help $ haben mich schlauer gemacht. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
* Am Fre, 10 Jan 2003 schrieb Heinz W. Pahlke:
On 10-Jan-2003 Jan Trippler wrote:
:1,$s/\([0-9]\{1,2\}\.\)\([0-9]\{1,2\}\.\)2003/\1\\,\2\\,2003/
^^^ ? Weder :help 1 noch :help $ haben mich schlauer gemacht.
Ist identisch mit :%s, Vor dem Befehl wird halt eine Range von Zeilen angegeben und 1,$ heißt erste bis letzte Zeile... :-1,.s hieße dann z.B. letzte und aktuelle Zeile! Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
On 10 Jan 2003 at 8:24, Heinz W. Pahlke wrote:
Hallo,
On 10-Jan-2003 Jan Trippler wrote:
:1,$s/\([0-9]\{1,2\}\.\)\([0-9]\{1,2\}\.\)2003/\1\\,\2\\,2003/
^^^ ? Weder :help 1 noch :help $ haben mich schlauer gemacht.
: = enter command modus 1,$ = von Zeile 1 bis zum Ende der Datei s = substitute (Kürzer ist das von Dir verwendete ":%s", was auch das ganze File anspricht) Andreas
Hallo, hat jemand Erfahrung mit einer usb-webcam von Philipps und xawtv?? Beim Aufruf von xawtv bekomme ich ein Fenster mit einem winzig-kleinen Bildchen (160x120px) welches die Webcam offensichtlich gerade aufgenommen hat. Um das Bild drum herum ist ein in alle Richtungen etwa 150px grosser Graurand. xawtv bietet eine Möglichkeit ein Bild zu exportieren. Der grosse Graurand ist auch in dem exportierten Bild enthalten. Wie kann ich diesen Graurand (ohne ein Grafikprogramm zu verwenden) entfernen und das Bild auf die Grösse 320x2xx px zu vergrössern. Grüsse, Micha
"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) Im Erstzungstext,muß der Punkt nicht mit \ versehen werden. Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 9204871 Fax: +49(721) 24874 juergen@informatik-vollmer.de,vollmer@cocolab.de,Juergen.Vollmer@acm.org www.informatik-vollmer.de
* 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
Hallo, On 09-Jan-2003 Bernd Brodesser wrote:
Wenn es nicht allzuviele Ersetzungen sind, gibt es bei vim aber auch eine ganz andere Möglichkeit, die einem das Nachdenken erspart:
Schade, dass der Steve Qualline mit fast 60 Euro doch etwas sehr teuer ist. Und antiquarisch ist er in D bislang leider nicht zu bekommen. So muss ich erst einmal weiter hoffen, solche guten Tips von dir und anderen aus der Liste zu bekommen. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Moin Heinz, * Heinz W. Pahlke schrieb am 09 Jan 2003:
On 09-Jan-2003 Bernd Brodesser wrote:
Wenn es nicht allzuviele Ersetzungen sind, gibt es bei vim aber auch eine ganz andere Möglichkeit, die einem das Nachdenken erspart:
Schade, dass der Steve Qualline mit fast 60 Euro doch etwas sehr teuer ist. Und antiquarisch ist er in D bislang leider nicht zu bekommen.
Was ist das?
So muss ich erst einmal weiter hoffen, solche guten Tips von dir und anderen aus der Liste zu bekommen.
Zum Thema Regex kann ich nur das Buch "Mastering Regular Expressions" von Jeffrey E.F. Friedl empfehlen, im O'Reilly Verlag; AFAIK nur auf englisch. Wer es schafft, sich dort durchzuarbeiten, der erleichtert sich das Leben mit Regexen ganz erheblich. Gruß, Sebastian -- Do not meddle in the affairs of wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
Hallo Sebastian, On 09-Jan-2003 Sebastian Helms wrote:
* Heinz W. Pahlke schrieb am 09 Jan 2003:
Schade, dass der Steve Qualline mit fast 60 Euro doch etwas sehr teuer ist. Und antiquarisch ist er in D bislang leider nicht zu bekommen.
Was ist das?
Steve Qualline, Vi IMproved, ISBN 0-7357-1001-5, EUR 56,65 Da das von http://www.vim.org empfohlene Buch erst 2001 erschienen ist, mag sich wohl noch niemand von ihm trennen. Okay, das Buch gibt es auf obiger Site auch online und zum downladen, aber knappe 600 Seiten auszudrucken ist nicht mein Fall. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Hallo, On 09-Jan-2003 Jürgen Vollmer wrote:
Im Erstzungstext,muß der Punkt nicht mit \ versehen werden.
Stimmt. Und er darf es sogar nicht einmal, wenn man nicht gleich noch mal ersetzen lassen will, um den \ wieder herauszukriegen. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
participants (10)
-
Andreas Kyek
-
B.Brodesser@t-online.de
-
Christoph Maurer
-
David Haller
-
Heinz W. Pahlke
-
Jan.Trippler@t-online.de
-
Jürgen Vollmer
-
Michael R. Axt
-
Sebastian Helms
-
Sebastian Huber