vimscript中的替换失败了

时间:2012-09-19 15:48:30

标签: vim

我错过了一些微妙而愚蠢的东西。我有一个简短的vim脚本。在其中,我试图这样做:

s/.*_____.*/\=repeat('=', 78)/

(那是确切的代码。)

当我在正常模式下/\v.*____.*时,我可以成功找到该模式(不止一次)。当我在正常模式下进行该替换时,它会成功。

我确定我在某个地方逃避某个角色时会遗漏一些东西。请赐教!

1 个答案:

答案 0 :(得分:1)

s/命令仅涵盖当前行;这不是你通常想要的。

最简单的方法是使用%s/...来处理整个缓冲区。但是,您的映射/命令可能需要支持任意范围。为此,:call通常会为每一行调用一次用户定义的函数,除非您定义它处理范围本身的函数。有关详细信息,请参阅:help function-range-example