2016-07-13 22 views
1

zuerst, aber nicht hier Post hier. Ich hätte gerne Hilfe bei sich wiederholenden Aufgaben, die ich gerade bei der Arbeit ausführe. Es gibt: Wie kann ich in Vim eine Möglichkeit zum Entfernen unerwünschter Leerzeichen in spitzen Klammern aus einer Mail-Liste ersetzen? Leider konnte ich nicht einen klugen Weg finden, mit zu kämpfen, ich kämpfte viel mit \zs und \ze Funktionen, Lookahead Lokbehind Regex, aber ohne eine befriedigende Lösung. Es gibt eine Probe:Entfernen Sie unerwünschte Leerzeichen zwischen spitzen Klammern

Bilbo Baggins <bilbo. baggins @ middleearth.net>; Galadriel < galadriel @middleearth.net >; Daeron <[email protected]>; Gandalf < gandalf @middleearth.net>; Thorin II Oakenshield < thorin.oakenshield @ middleearth.net >; Aragorn < aragorn @ middleearth.net 

und unerwünschte Leerzeichen entfernt in resultieren:

Bilbo Baggins <[email protected]>; Galadriel <[email protected]>; Daeron <[email protected]>; Gandalf <[email protected]>; Thorin II Oakenshield <[email protected]>; Aragorn <[email protected] 

Wenn jemand helfen kann, wäre ich sehr dankbar.

+1

einen Blick auf diese http: //vim.wikia. com/wiki/Remove_unwanted_spaces – dmitryro

Antwort

1

Ich weiß nicht, ob es einen fehlenden > am Ende Ihrer Probe ist oder nicht, aber der Befehl unten sollte auf jeden Fall arbeiten:

:s/<.\{-\}\(>\|$\)/\=substitute(submatch(0),'\s','','g')/g 
+1

Es funktioniert perfekt! Vielen Dank. Netter Ansatz! – gandreoti

+0

glücklich dafür :)! Sie können es genehmigen, also schließen Sie die Frage. –

Verwandte Themen