此命令替换我所有缓冲区中的一些文本:
:bufdo %s/some_text/other_text/ge | update
Run Code Online (Sandbox Code Playgroud)
运行此命令时,当前窗口的缓冲区将更改为受 影响的最后一个缓冲区:bufdo,如下所示:help :bufdo:
最后一个缓冲区(或发生错误的地方)变成 当前缓冲区。
我知道可以防止缓冲区被更改,但我不记得如何做到。
您可以在运行命令之前保存当前缓冲区,然后在以下命令后跳转到它:
:let buf=bufnr('%') | exec 'bufdo some_command' | exec 'b' buf
Run Code Online (Sandbox Code Playgroud)