我需要在所有打开的缓冲区中运行这个命令 :perldo s/assigned_to(?!_member|_role)/assigned_to_member/g。我使用:perldo,因为内置的vim正则表达式(即%s/foo/bar/g)由于某种原因与我的负向预查不起作用。 通过我的研究,我发现了:bufdo和:execute "normal <foo>"命令,但我还没有找出如何将它们组合使用。 有人知道我该如何在所有打开的缓冲区上运行perldo命令吗?谢谢!
:bufdo
后面的!
是什么意思?这可能就是我所缺少的! - BenHohner:h bufdo!
。如果你没有时间(咳咳):如果perldo
失败了(无法替换任何缓冲区中的内容),则“正常”的:bufdo
将“退出”。使用!
,perldo
命令会继续执行下一个缓冲区。 - Zsolt Botykaiwq!
),也可以作为切换开关。但这取决于命令。在这种情况下,对于bufdo
命令,如果缓冲区无法被放弃,则该命令将失败。 - kprobst