2
我想在vim中执行大约20 * .C和* .H文件的替换,并且我想一次打开它们。所有文件都分布在多个嵌套目录中,并且该命令在顶层父目录中执行。我可以仅使用vim来做到这一点,还是需要“查找”命令和“-p”选项,如on this answer?vim有没有办法打开目录及其所有子目录中的所有.C和.H文件?
我想在vim中执行大约20 * .C和* .H文件的替换,并且我想一次打开它们。所有文件都分布在多个嵌套目录中,并且该命令在顶层父目录中执行。我可以仅使用vim来做到这一点,还是需要“查找”命令和“-p”选项,如on this answer?vim有没有办法打开目录及其所有子目录中的所有.C和.H文件?
启动Vim在你的项目的根目录:
$ vim /path/to/project
相关文件添加到arglist中,递归:
:argadd **/*.C **/*.H
见:h starstar
和:h :argadd
。
上在arglist中的每个文件执行的替代:
:argdo s/foo/bar/gc
见:h argdo
和:h s_flags
。
我试过这个现在在测试目录中,我得到“E37:自上次更改后没有写入(添加!覆盖)”错误。 – tmaric
要么':设置隐藏'并且稍后用':wall'保存它们,要么附加'|更新'到':argdo'命令。 –
对不起,我假设'设置隐藏'。 – romainl