说一个这样的网页:
... <div class="block"> <p>...</p> <p>...</p> </div> <p>...</p> ...
我尝试将 class="cls" 添加到 <div class="block"> 内的 <p> 中,因此我这样做了:
while search('div class="block"','W') > 0 普通大桶 '<,'>s@<p>@<p class="cls">@gec 结束
但这并不像预期的那样工作:<div class="block"> 外面的那些 <p> 也发生了变化。在命令窗口中,这些行完全可以工作,为什么不把它们放在一起呢?
答案1
之后normal vat
,视觉选择仍然存在,并且'<,'>
标记仍然指向前一个。您需要结束视觉模式,如下所示:
:execute "normal! vat\<Esc>"
附言:你应该使用:noremap
;它使映射不受重新映射和递归的影响。