【问题标题】:Vim Join opened Html tags to same lineVim Join 将 Html 标签打开到同一行
【发布时间】:2014-09-15 11:49:14
【问题描述】:

所以我开始在 vim 中使用 sn-ps,现在有时我喜欢将结束标记放在换行符上,但有时我喜欢将结束标记放在同一行上。

在输入 html 标签并按下自动完成键后,它的格式如下所示,光标位置由插入符号显示

<td>
    ^
</td>

目前,如果我希望两个标签在同一行上,我必须将光标向上移动一行并反复按 Shift+J 以加入行,但这需要多次击键

有没有一种快速的方法(不将光标从当前位置移动),将两行连接在一起看起来像,从上面的代码 sn-p

<td>^</td>

【问题讨论】:

    标签: html vim code-snippets


    【解决方案1】:

    您可以利用 Vim 内置的 inner tag 文本对象来删除 (dit) 或更改 (cit) 标签内的空格/文本。 (这假设标签是缩进的;没有缩进,你仍然需要一个J 来将结束标签连接到当前行。)

    【讨论】:

    • dit 和 cit 命令正是我想要的,谢谢!
    • @Fractale: J 是一个独立的命令,它自己,而dc 后面跟着一个{motion}(这里:it“内部标签”文本对象)。 Jit 被 Vim 解释为 join, enter insert mode, type literal t.
    • @Ingo Karkat 如何在两个 html 标签之间加入行?
    【解决方案2】:

    或:

    :.,/td>/j
    

    意思是从当前行(.)到(,)搜索“td>”(/td&gt;/)加入行(j

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多