vim:搜索替换所有可写缓冲区

时间:2010-03-15 07:46:34

标签: vim replace

所以

1GvG:s/..../g

可以替换整个缓冲区

但是,假设我加载了多个vim缓冲区,并且我想对所有可写的缓冲区执行:s;有没有办法在vim中做到这一点?

3 个答案:

答案 0 :(得分:13)

由于我不能发表评论,我会重复布莱恩所说的并加上我的2美分。

我相信您正在寻找的命令是:

:bufdo :%s/..../g | :w

注意:这将在更改完成后写入每个文件,因此请确保为此做好准备。

如果启用了autowrite,您应该能够删除命令末尾的“|:w”。

答案 1 :(得分:4)

看看bufdo。还有windotabdo。请记住,默认情况下,Vim不会自动写入,因此对于跨缓冲区的搜索/替换命令,您需要打开自动写入。

答案 2 :(得分:0)

Greplace有一项支持此功能的功能。 github上还有一个pathogen ready version