环绕标签在vim



我经常想用另一个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.

最新更新