我正在寻找在Vim中对所有项目文件进行搜索和替换(确认)的最佳方法."项目文件"是指当前目录中的文件,其中一些不必打开.
一种方法是简单地打开当前目录中的所有文件:
:args ./**
Run Code Online (Sandbox Code Playgroud)
然后对所有打开的文件进行搜索和替换:
:argdo %s/Search/Replace/gce
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,Vim的内存使用量从几十MB增加到超过2 GB,这对我来说不起作用.
我也安装了EasyGrep插件,但它几乎不会工作 - 要么它找不到所有的事件,要么只是挂起直到我按下CtrlC.到目前为止,我完成此任务的首选方法是ack-grep搜索术语,使用它的quickfix窗口打开包含该术语的任何文件,之前未打开,最后打开:bufdo %s/Search/Replace/gce.
我正在寻找一个可以用于此的好的,有效的插件,或者一个命令/命令序列,它比我现在使用的那个更容易.
我发现了Vim的替代命令......
:%s/replaceme/replacement/gi
Run Code Online (Sandbox Code Playgroud)
和vimgrep ......
:vimgrep /findme/gj project/**/*.rb
Run Code Online (Sandbox Code Playgroud)
有没有办法将它们组合起来,以便在目录下的所有文件中进行替换?