如何在匹配的HTML / XML标签之间跳转?


44

如何匹配的标签间跳转(如<div><span>等),当编辑HTML / XHTML / XML文档类似于%用来匹配括号之间跳转?


6
可能与在不带花括号的语言使用%重复...此解决方案也适用于HTML(只需对其进行测试,如果您使用,>它将像以前一样工作;如果使用,div它将像您想要的那样工作)。
马丁·图尔诺伊

@Carpetsmoker如果此问题可以重复使用一般答案(使用一个插件),则它将不允许任何专门处理html标签的答案。
kenorb 2015年

但是,另一个问题的答案完全相同,因此这是重复的。
门把手2015年

发布的示例答案不适合其他问题,因此不再重复。
kenorb 2015年

1
@Doorknob两个问题碰巧具有相同答案的事实并不一定意味着这些问题是彼此重复的。
200_success 2015年

Answers:


44

Vim附带了一个名为matchit的宏,可以为您执行此操作。您需要做的就是runtime macros/matchit.vim在vimrc中激活它。这样您就可以从跳到<div></div>。请注意,您的光标必须在尖括号内;如果您在尖括号中,%则将照常从一个括号跳到另一个括号。


22

您可以使用视觉运算符在标签之间跳转,例如:

  1. 将光标放在标签上。
  2. 按进入可视模式v
  3. 通过按a+ ti+ t选择内部标签块,以选择外部标签块。

您的光标应跳到匹配的结束html / xml标记。要从关闭标签向后跳,请按oO跳到相反的标签。

现在,您可以通过按退出视觉,按Esc更改c或复制y


要将动作记录到寄存器中,按qq开始记录,按上述步骤执行标签跳转(包括Esc),按q完成。然后要调用跳转,请按@q


:help visual-operators或查看更多帮助:help v_it

at 一个<tag> </tag>块(带有标记)

it 内部<tag> </tag>


可替代地使用插件如matchit.vimsurround.vim


也可以看看:


3

xmledithttp://vimawesome.com/plugin/xmledit)插件允许使用打开和关闭标签之间跳转

  • <本地领导者>%

<localleader>通常是\,因此您可以跳

  • \%

注意:与不同matchit,您不必将光标放在标签内。将其正确放置在<>上对于xmledit插件来说是完美的。:)

注意2:这里的缺点是您不能在可视模式下使用它。但这没什么大不了的,因为您始终可以使用选择整个标签at

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.