删除尖括号之间不需要的空格

Remove unwanted spaces between angle brackets

首先但并非最不重要的 post 这里。我需要一些帮助来处理我现在正在执行的重复性任务。有: 如何在 Vim 中替换为从邮件列表中删除尖括号内不需要的空格的方法?不幸的是,我找不到一个聪明的方法来处理,我在使用 \zs\ze 功能,lookahead lokbehind regex 上挣扎了很多但没有令人满意的解决方案。有样本:

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

删除不需要的空格会导致:

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

如果有人能提供帮助,我将不胜感激。

我不知道你的示例末尾是否缺少 >,但下面的命令应该可以正常工作:

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