我经常想用另一个div标签包围一个div标签。https://github.com/tpope/vim-surround是一个真正的帮助。
|<div>
...
</div>
如果游标在|并且我输入ysat<div>
,我得到
<div><div>
...
</div><div>
换成
<div>
<div>
...
</div>
</div>
如何强制div在新行上?
:help at
说:
当在可视模式下使用时,按字符表示。
Surround为其ys
自定义操作符使用的低级机制消耗给定的运动作为视觉选择,然后由插件使用该类型来决定要做什么。在这种情况下,Surround获得一个字符运动,使其以字符方式操作。
为了实现您的目标,您需要通过在操作符(ys
)和运动(at
)之间添加V
来强制线性运动:
ysVat<div><CR>
^
参见:help forced-motion
:
*o_V*
V When used after an operator, before the motion command: Force
the operator to work linewise, also when the motion is
characterwise.