是否可以在多个文件中应用相同的搜索和替换vim?下面我举一个例子。
我有多个 .txt 文件——sad1.txt直到sad5.txt. 要打开它们,我会使用vim sad*它并且它已经打开了。现在在 5 个 txt 文件中,它们有类似happy999 之类的词;我想将其更改为happy111。我目前正在使用此代码:
argdo %s/happy999/happy111/gc | wq!
Run Code Online (Sandbox Code Playgroud)
最终只有sad1.txt改变了。我应该怎么做才能在 5 个 txt 文件中运行一个脚本?
用:
:set aw
:argdo %s/happy999/happy111/g
Run Code Online (Sandbox Code Playgroud)
第一行设置自动写入模式,因此当您在文件之间切换时,vim如果文件已更改,将写入文件。
第二行进行全局搜索和替换。
请注意,它不使用,wq!因为它退出。如果您不想使用自动写入,则可以使用:
:argdo %s/happy999/happy111/g | w
Run Code Online (Sandbox Code Playgroud)
这避免了vim在编辑第一个文件结束时终止。
也可以考虑找上vi并vim用于回答有关问题vi和vim。