处理单个文件时,我习惯:
/blah
do some work
n
do some work
n
do some work
假设现在我想在 Vim 中加载的所有缓冲区中搜索某些模式,对它们进行一些处理,然后继续。我在此工作流程中使用哪些命令?
最佳答案
使用bufdo
命令。
:bufdo command
:bufdo command
大致相当于迭代每个缓冲区并执行命令。例如,假设您想要在所有缓冲区中进行查找和替换:
:bufdo! %s/FIND/REPLACE/g
或者假设我们要从所有缓冲区中删除与正则表达式“SQL”匹配的所有文本行:
:bufdo! g/SQL/del
或者也许我们想在所有缓冲区上将文件编码设置为 UTF-8:
:bufdo! set fenc=utf-8
上述内容可以针对 Windows (:windo
)、选项卡 (:tabdo
) 和参数 (:argdo
) 进行推断。有关详细信息,请参阅 :bufdo 的帮助。
关于Vim 搜索所有现有缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2450887/