2010-05-18 113 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