5
我需要在所有打开的缓冲区中运行此命令:perldo s/assigned_to(?!_member|_role)/assigned_to_member/g
。我使用的是:perldo
,因为内建的vim正则表达式(即%s/foo/bar/g
)由于某种原因不适合我的负面预测。Vim - 如何在所有缓冲区中运行非正常模式命令?
通过我的研究,我发现了:bufdo
和:execute "normal <foo>"
命令,但我还没有想出如何将它们组合起来。
有谁知道我将如何在所有打开的缓冲区上运行perldo命令? 谢谢!
这工作! '':''后':bufdo'做什么?这可能是我错过的! – BenHohner
我推荐在Vim中阅读':h bufdo!'。如果你没有时间(khm):如果'perldo'失败(不能取代任何缓冲区中的任何内容)“normal”:bufdo'“退出”。用'!''perldo'命令继续下一个缓冲区。 –
感叹号或者强制某些东西(例如'wq!')或者用作切换开关。但这取决于命令。在这种情况下,对于'bufdo',如果缓冲区不能被放弃,那么该命令将失败。 – kprobst