2010-05-18 70 views

回答

14

检查出来:

s/<a href\(\_[^>]*\)>/<a href\L\1>/ 

这表示:匹配<a href,后面的零个或多个字符除了>,包括换行(由\_指示),然后最后一个>。将其替换为<a href,将捕获的文本转换为小写(由\L指示),尾部为>

很明显,如果您的标签内有某个>,那么您自己就可以了,但这就是生活。

(而如果它是不明确的,你会使用这个作为:%s/.../...:<range>s/.../.../一些小型range

对多个文件使用,您将使用windobufdo,或tabdo(视关于文件是否以标签,窗口或仅仅作为缓冲区打开)。有很多的文件在那里:

在一般情况下,它可能会是这个样子:

:tabdo <range>s/.../.../ 
:windo <range>s/.../.../ 
:bufdo <range>s/.../.../ | w 

我已经向bufdo版本添加了写入命令,因为它不能移动到下一个缓冲区而不保存当前的缓冲区。如果你想立即写入,你也可以为其他人做这件事,但他们不会工作。这取决于你打开所有的文件 - 最简单的方法是vim <lots of files>将它们作为缓冲区,或vim -o <lots of files>将它们作为窗口(使用-O垂直分割而不是水平分割)。

+0

非常感谢你,这应该正是我想要的,我要立即检查它! – 2010-05-19 07:06:08