0

我经常想用另一个 div 标签包围一个 div 标签。 https://github.com/tpope/vim-surround是一个真正的帮助。

|<div>
  ...
</div>

如果光标在 | 我输入ysat<div>我得到

<div><div>
  ...
</div><div>

相反,我想要

<div>
  <div>
    ...
  </div>
</div>

如何强制 div 换行?

4

1 回答 1

2

:help at说:

在可视模式下使用时,它是按字符制作的。

Surround 为其自定义操作符使用的低级机制ys将给定的动作作为视觉选择使用,然后插件使用其类型来决定要做什么。在这种情况下,Surround 会获得一个角色动作,使其以角色方式运行。

为了实现您的目标,您需要通过在运算符 ( ) 和运动 ( ) 之间添加 a来强制进行线性运动:Vysat

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.
于 2021-01-22T13:11:02.067 回答