所以
1GvG:s/..../g
可以替换整个缓冲区
但是,假设我加载了多个vim缓冲区,并且我想对所有可写的缓冲区执行:s;有没有办法在vim中做到这一点?
答案 0 :(得分:13)
由于我不能发表评论,我会重复布莱恩所说的并加上我的2美分。
我相信您正在寻找的命令是:
:bufdo :%s/..../g | :w
注意:这将在更改完成后写入每个文件,因此请确保为此做好准备。
如果启用了autowrite,您应该能够删除命令末尾的“|:w”。
答案 1 :(得分:4)
看看bufdo
。还有windo
和tabdo
。请记住,默认情况下,Vim不会自动写入,因此对于跨缓冲区的搜索/替换命令,您需要打开自动写入。
答案 2 :(得分:0)
Greplace有一项支持此功能的功能。 github上还有一个pathogen ready version。