如何在Vim中替换文件夹中的所有文件?

时间:2010-04-17 07:19:15

标签: vim

我知道通过键入以下内容::%s / iwanthis / replacementbythis / g将更改文件的所有匹配单词。如何对文件夹中的所有文件执行相同的操作?

(实际上替换了很多像这样的词:padding-bottom:5px;)

3 个答案:

答案 0 :(得分:8)

打开Vim,将所有文件加载到缓冲区中,并使用bufdo立即替换所有缓冲区:

% vim *
... when vim has loaded:
:bufdo %s/iwanthis/replacedbythis/g | w

| w会将每个文件写回磁盘。

答案 1 :(得分:0)

你可以尝试greplace.vim,它可以为你提供一个缓冲区,包括在多个文件中匹配给定正则表达式的所有行,然后你可以修改缓冲区中的内容,然后调用另一个greplace命令使所有更改更新为所有这些文件。

答案 2 :(得分:0)

希望这对没有vim工作的人有用


find /your_path/to/folder -type f -exec sed -i 's/text_to_be_replaced/new_text/g' {} \;

此代码替换指定路径(/ your_path / to / folder)中所有出现的文本。认为这可能对某人有帮助。