Thread View: de.comp.editoren
5 messages
5 total messages
Started by Marc Haber
Sat, 21 Oct 2017 11:32
vim - mailadresse/recipient loeschen
Author: Marc Haber
Date: Sat, 21 Oct 2017 11:32
Date: Sat, 21 Oct 2017 11:32
28 lines
961 bytes
961 bytes
Hallo, in vim gibt es ja die wunderbaren modifikatoren "inner" und "outer", mit denen man super innerhalb von quotes und Klammern ersetzen und löschen kann. Gibt es sowas auch für Mailadressen/Recipients in einer Mail, so wie "delete inner recipient"? Gewünscht wäre: To: Empf 1 <vorname.nachname@domain.example>, Empf 2 <vorname.nachname@domain2.example> Cursor steht auf dem ersten @ oder irgendwo im ersten Empfänger, "delete inner recipient", und übrig bleibt: To: Empf 2 <vorname.nachname@domain2.example> Das ist, sobald Zeilenumbrüche etc ins Spiel kommen, ziemlich nichttrivial. Hat das schonmal jemand gemacht? Grüße Marc -- -------------------------------------- !! No courtesy copies, please !! ----- Marc Haber | " Questions are the | Mailadresse im Header Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/ Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
Re: vim - mailadresse/recipient loeschen
Author: Andreas Kohlbach
Date: Sat, 21 Oct 2017 16:26
Date: Sat, 21 Oct 2017 16:26
32 lines
1082 bytes
1082 bytes
On Sat, 21 Oct 2017 11:32:53 +0200, Marc Haber wrote: > > in vim gibt es ja die wunderbaren modifikatoren "inner" und "outer", > mit denen man super innerhalb von quotes und Klammern ersetzen und > löschen kann. > > Gibt es sowas auch für Mailadressen/Recipients in einer Mail, so wie > "delete inner recipient"? Keine Ahnung. Sieht aber interessant aus, dass ich mich damit mal beschäftigen sollte. Aber falls sonst niemand helfen kann... > Gewünscht wäre: > > To: Empf 1 <vorname.nachname@domain.example>, Empf 2 > <vorname.nachname@domain2.example> > > Cursor steht auf dem ersten @ oder irgendwo im ersten Empfänger, > "delete inner recipient", und übrig bleibt: > > To: Empf 2 <vorname.nachname@domain2.example> > > Das ist, sobald Zeilenumbrüche etc ins Spiel kommen, ziemlich > nichttrivial. Hat das schonmal jemand gemacht? Wenn immer ich etwas in vim ändern will, auch mit Zeilenumbrüchen, nehme ich die eingebaute sed Funktion. :%s/erster/zweiter/ -- Andreas You know you are a redneck if someone asks to see your id and you show them your belt buckle.
Re: vim - mailadresse/recipient loeschen
Author: Christian Schnei
Date: Sun, 22 Oct 2017 00:33
Date: Sun, 22 Oct 2017 00:33
32 lines
1129 bytes
1129 bytes
Thus spake Marc Haber (mh+usenetspam1118@zugschl.us): > in vim gibt es ja die wunderbaren modifikatoren "inner" und "outer", > mit denen man super innerhalb von quotes und Klammern ersetzen und > löschen kann. > > Gibt es sowas auch für Mailadressen/Recipients in einer Mail, so wie > "delete inner recipient"? > > Gewünscht wäre: > > To: Empf 1 <vorname.nachname@domain.example>, Empf 2 > <vorname.nachname@domain2.example> > > Cursor steht auf dem ersten @ oder irgendwo im ersten Empfänger, > "delete inner recipient", und übrig bleibt: > > To: Empf 2 <vorname.nachname@domain2.example> > > Das ist, sobald Zeilenumbrüche etc ins Spiel kommen, ziemlich > nichttrivial. Hat das schonmal jemand gemacht? Wahrscheinlich nicht so wie Du Dir das vorstellst, aber folgendes funktioniert bei dem Beispiel: ,---- | :map ,e dt:df,J `---- -- { \|/ ______ \|/ Access denieded | Christian 'strcat' Schneider } { "@' / , . \ `@" Nah Nah Nah :p | http://www.strcat.de/ } { /__| \____/ |__\ | http://www.strcat.de/blog/ } { \___U__/ | http://strcat.de/chris.gpg }
Re: vim - mailadresse/recipient loeschen
Author: "Peter J. Holzer
Date: Sun, 22 Oct 2017 17:02
Date: Sun, 22 Oct 2017 17:02
50 lines
1918 bytes
1918 bytes
On 2017-10-21 22:33, Christian Schneider <strcat@gmx.net> wrote: > Thus spake Marc Haber (mh+usenetspam1118@zugschl.us): >> in vim gibt es ja die wunderbaren modifikatoren "inner" und "outer", >> mit denen man super innerhalb von quotes und Klammern ersetzen und >> löschen kann. Oh, WWG. >> Gibt es sowas auch für Mailadressen/Recipients in einer Mail, so wie >> "delete inner recipient"? >> >> Gewünscht wäre: >> >> To: Empf 1 <vorname.nachname@domain.example>, Empf 2 >> <vorname.nachname@domain2.example> >> >> Cursor steht auf dem ersten @ oder irgendwo im ersten Empfänger, >> "delete inner recipient", und übrig bleibt: >> >> To: Empf 2 <vorname.nachname@domain2.example> >> >> Das ist, sobald Zeilenumbrüche etc ins Spiel kommen, ziemlich >> nichttrivial. Hat das schonmal jemand gemacht? > > Wahrscheinlich nicht so wie Du Dir das vorstellst, aber folgendes > funktioniert bei dem Beispiel: > > ,---- >| :map ,e dt:df,J > `---- Das müsste ein T sein, kein t. Funktioniert aber nur dann, wenn Du die erste Adresse löschen willst (nicht die zweite oder dritte), wenn die keinen Zeilenumbruch enthält, kein Komma im Displayname, keine Gruppe, ... Die Syntax von RFC-5322 Adress-Zeilen ist extrem komplex. Selbst wenn Du so diverse nette Features wie Kommentare innerhalb einer Mail-Adresse, die niemand verwendet, weglässt, ist das nichts, was sich mit ein paar einfachen Movement-Kommandos implementieren lässt, und wenn es als Regexp überhaupt funktioniert, dann wird das ein Monster, das Du einmal schreiben und nie wieder angreifen willst. TLDR: Sowas schreibt man lieber in einer richtigen Programmiersprache. hp -- _ | Peter J. Holzer | Fluch der elektronischen Textverarbeitung: |_|_) | | Man feilt solange an seinen Text um, bis | | | hjp@hjp.at | die Satzbestandteile des Satzes nicht mehr __/ | http://www.hjp.at/ | zusammenpaßt. -- Ralph Babel
Re: vim - mailadresse/recipient loeschen
Author: Christian Schnei
Date: Sun, 22 Oct 2017 17:18
Date: Sun, 22 Oct 2017 17:18
39 lines
1622 bytes
1622 bytes
Thus spake Peter J. Holzer (hjp-usenet3@hjp.at): > On 2017-10-21 22:33, Christian Schneider <strcat@gmx.net> wrote: >> Thus spake Marc Haber (mh+usenetspam1118@zugschl.us): [...] >>> Gibt es sowas auch für Mailadressen/Recipients in einer Mail, so wie >>> "delete inner recipient"? >>> >>> Gewünscht wäre: >>> >>> To: Empf 1 <vorname.nachname@domain.example>, Empf 2 >>> <vorname.nachname@domain2.example> >>> >>> Cursor steht auf dem ersten @ oder irgendwo im ersten Empfänger, >>> "delete inner recipient", und übrig bleibt: >>> >>> To: Empf 2 <vorname.nachname@domain2.example> >>> >>> Das ist, sobald Zeilenumbrüche etc ins Spiel kommen, ziemlich >>> nichttrivial. Hat das schonmal jemand gemacht? >> >> Wahrscheinlich nicht so wie Du Dir das vorstellst, aber folgendes >> funktioniert bei dem Beispiel: >> >> ,---- >>| :map ,e dt:df,J >> `---- > > Das müsste ein T sein, kein t. Funktioniert aber nur dann, wenn Du die > erste Adresse löschen willst (nicht die zweite oder dritte), wenn die > keinen Zeilenumbruch enthält, kein Komma im Displayname, keine Gruppe, ... Korrekt. Muss ein T sein; dann funktioniert es bei dem von Marc genannten Beispiel. Alle möglichen - und unmöglichen - Variationen von Email-Adressen abzudecken, ist in meinen Augen kaum realisierbar. Zumindest nicht mit einem Script oder Einzeiler. -- { \|/ ______ \|/ Access denieded | Christian 'strcat' Schneider } { "@' / , . \ `@" Nah Nah Nah :p | http://www.strcat.de/ } { /__| \____/ |__\ | http://www.strcat.de/blog/ } { \___U__/ | http://strcat.de/chris.gpg }
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads