技巧97-在多个文件中执行查找与替换

  • 例子:把Pragmatic Vim 都改成Practical Vim
/Pragmatic\ze Vim
  • 元字符\ze把单词Vim从匹配中排除掉(见技巧78),然后运行substitute命令
:%s//Practical/g

使用:vimgrep在工程范围内查找

/Pragmatic\ze Vim
:vimgrep // **/*.txt
  • 查找域留空,Vim使用当前的查找模式
  • 通配符**/*.txt,匹配当前目录下的所有后缀为.txt的文件

使用:cfdo在整个工程范围内执行substitute命令

  • 设置hidden
  • 该项设置可以无需存盘就可以从莫个被修改的文件中切换出去。
:set hidden
  • 批量替换
:cfdo %s//Practical/gc
  • 批量存盘
:cfdo update
  • 合并修改存盘
:cfdo %s//Practical/g | update