在编辑HTML / XHTML / XML文档时如何与%相似地在匹配的标记(例如<div><span>等)之间跳转?

评论

可能与在不带花括号的语言中使用%重复...此解决方案也适用于HTML(只需对其进行测试,如果您在>上,它将像以前一样工作,如果在div上,则将按照您希望的那样工作)。

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

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

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

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

#1 楼

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

评论


我必须为我的php文件设置filetype = html。受stackoverflow.com/questions/7281459/…的启发

– aswine
19/12/6在15:44

#2 楼

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

将光标放在标签上。
通过按v进入视觉模式。
通过按a选择外部标签块+ t或i + t用于内部标记块。

您的光标应向前跳到匹配的结束html / xml标记。要从关闭标签向后跳,请按o或O跳到相对的标签。
现在您可以按Esc退出视觉效果,按c更改它或按y复制。

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

也可以使用诸如matchit.vim或Surround.vim之类的插件。

在stackoverflow SE上跳转到Vim中的XML标记

如何在vim中快速找到close html标记?在stackoverflow SE

在stackoverflow SE的Vim中导航HTML标签。

如何在开始和结束html标签之间导航?在超级用户SE上,VIM从一个xml标签跳转到在Unix SE上的结束XML标签。

如何在Vim中选择html标签的内容?在超级用户SE


#3 楼

xmledit(http://vimawesome.com/plugin/xmledit)插件允许使用





通常将是\,因此可以使用



\%



跳,则不必将光标放在标记内。将其正确放置在matchit<上对于>插件来说是完全可以的。 :)

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