使用vim在多个文件中进行查找和替换
在程序开发过程中,我们通常都会对多个文件中的某个字符串进行查找和替换,vim为我们提供了这个功能,首先我们需要安装nelstrom/vim-qargs插件,具体安装这里不做介绍,有时间的话会专门写一篇文章介绍如何安装vim插件以及vim的配置。这里假设你已经安装了上述插件。
我们的文件列表以及文件内容如下图所示:
可以看出,部分文件包含Pragmatic Vim, 部分文件包含Pragmatic Bookshelf,我们的目标是将所有的Pragmatic Vim替换成Pragmatical Vim,而Pragmatic Bookshelf不变。
首先,我们使用vim .
命令打开vim,使用:vimgrep /Pragmatic\ze Vim/ **/*.txt 找到我们需要搜索的模式,所有包含我们搜索模式的文件都会放到quickfix列表中,如下图所示:
我们可以使用:copen的命令来查看quickfix列表,此处我们不查看了,因为后面我们会使用:ls 命令查看打开的文件。现在我们使用vim-qargs提供的命令:Qargs将quickfix列表中的文件用:args打开
此时所有匹配到的文件全部打开,我们用命令:argdo %s//Pragmatical/g 对所有打开的文件进行替换
现在我们使用:ls命令查看打开文件的状态,可以看到打开的文件都已经被修改
使用:wqa保存并退出,在终端中查看文件是否正确替换,可以看到已经得到我们想要的结果。