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

时间:2016-07-13 00:53:14

标签: vim whitespace

首先,但不是最少发布在这里。我想帮助我现在正在执行的重复性任务。有:我如何用Vim替换从邮件列表中删除尖括号内不需要的空格?不幸的是,我找不到一个聪明的方法来处理,我使用\zs\ze功能进行了很多努力,看上去正面使用正则表达式,但没有一个令人满意的解决方案。有一个样本:

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

如果有人可以提供帮助,我将非常感激。

1 个答案:

答案 0 :(得分:1)

我不知道您的样本末尾是否遗漏了>,但以下命令仍然有效:

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