如何在 Vim 中更改已更改的 HTML 标签对?

如何在 Vim 中更改已更改的 HTML 标签对?

我如何配置 Vim,以便当我更改一对匹配的 HTML 标签中的一个成员时,另一个成员也会自动更改以匹配?

例如:给定<span>content</span>,我想更改<span><div>,然后结尾</span>自动更改为</div>。最佳情况下,这会在从插入模式返回到正常模式时发生,但如果我必须点击特殊的键绑定才能发生这种情况,那就没问题了。

答案1

优秀的环绕.vim让这变得简单 - 将光标放在要更改的标签内的任意位置,在正常模式下,键入cst<div>( change surrounding tag to <div>)。开始和结束标记中的标记名称都将更改为“div”,然后您将返回正常模式。

答案2

以下是几个步骤:

  1. 将光标放在第一个标签上。
  2. 按:选择外部 html 代码vat
  3. Esc退出可视模式并键入:

    :'<,'<s/span/div/
    :'>,'>s/span/div/
    

    请注意,:'>,'>s/span/div/如果同一行中出现两次相同的结束标记,则该方法将无法正常工作,因为它总是会更改第一个结束标记。要修复它,请改用::'>,'>s/.*\zsspan/div/。看:如何更改行中最后一次出现的字符串?

有关的:

答案3

维姆塔加隆插件可以做到这一点:

Vim 塔加隆

答案4

随着SwapIt - 可扩展的关键字交换器,您可以定义标签组,然后可以通过<C-a>/进行切换<C-x>。例如,在~/.vim/ftplugin/html_swapit.vim

SwapList layout p div span

如果您在同一行上有开始和结束标记(并且只有一种类型),您可以通过我的编辑这两个标记更改全局插件


还有几个“多光标”插件,它们允许您标记某些单词并立即编辑它们。

相关内容