🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.editoren
5 messages
5 total messages Started by Marc Haber Sat, 21 Oct 2017 11:32
vim - mailadresse/recipient loeschen
#19058
Author: Marc Haber
Date: Sat, 21 Oct 2017 11:32
28 lines
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
#19060
Author: Andreas Kohlbach
Date: Sat, 21 Oct 2017 16:26
32 lines
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
#19061
Author: Christian Schnei
Date: Sun, 22 Oct 2017 00:33
32 lines
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
#19063
Author: "Peter J. Holzer
Date: Sun, 22 Oct 2017 17:02
50 lines
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
#19065
Author: Christian Schnei
Date: Sun, 22 Oct 2017 17:18
39 lines
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