全站搜索和替换,使用vim cdo无需缓冲区。

5

最近我转用vim,学到可以使用AG进行搜索。

我一直这样操作:

:Ag foo

在快捷列表窗口中

:cdo s/foo/bar/g |update

然而,它会打开所有文件的缓冲区。我该如何让Vim不打开缓冲区,只替换单词?

1
你不能也不应该担心那些缓冲区。 - romainl
1个回答

10

使用 :cfdo 命令关闭所有您已打开且修改过的缓冲区:

:cfdo :bd

因此,工作流程如下:

:Ag foo
:cdo %s/bar/baz/g | update 
:cfdo :bd

:cdo 循环遍历 quickfix 列表中的每个条目,而 :cfdo 移动到列表中引用的每个文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接