我错过了一些微妙而愚蠢的东西。我有一个简短的vim脚本。在其中,我试图这样做:
s/.*_____.*/\=repeat('=', 78)/
(那是确切的代码。)
当我在正常模式下/\v.*____.*
时,我可以成功找到该模式(不止一次)。当我在正常模式下进行该替换时,它会成功。
我确定我在某个地方逃避某个角色时会遗漏一些东西。请赐教!
答案 0 :(得分:1)
s/
命令仅涵盖当前行;这不是你通常想要的。
最简单的方法是使用%s/...
来处理整个缓冲区。但是,您的映射/命令可能需要支持任意范围。为此,:call
通常会为每一行调用一次用户定义的函数,除非您定义它处理范围本身的函数。有关详细信息,请参阅:help function-range-example
。