如何在vim中快速找到close html标签?

时间:2010-11-07 03:17:58

标签: html vim

就像编辑C源文件一样,我可以按%来获取当前光标的{}。 编辑html文件时如何做到这一点?有没有快捷方式? 要明确,我想:

<html>
</html>

当curosr移动到<html>时,我想按一个键,这样光标就会跳到</html>

4 个答案:

答案 0 :(得分:18)

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

  1. 将光标放在标签上。
  2. v 进入可视模式。
  3. 通过按 a + t i + t 为内部标记块选择外部标记块。
  4. 您的光标应跳转到匹配的结束html / xml标记。要从结束标记向后跳转,请按 o O 跳转到相反的标记。

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


    要将该动作录制到注册表,按 qq 开始录制,按上述方式执行标签跳转(包括 Esc ),按 q 完。然后要调用jump,请按 @q


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

      

    <tag> </tag>块(带标签)

         

    it 内部<tag> </tag>阻止


    或者使用matchit.vim等插件(参见:Using % in languages without curly braces)。


    另见:

答案 1 :(得分:15)

当您的鼠标位于开始标记上时,您可以使用matchit插件执行此操作。

http://www.vim.org/scripts/script.php?script_id=39

答案 2 :(得分:5)

即使使用matchit插件,我也遇到过这个问题。我解决它的方法是修改xml-type文件上的b:match_words。这是我的.vimrc的相关部分:

  autocmd FileType html let b:match_words = '<\(\w\w*\):</\1,{:}'
  autocmd FileType xhtml let b:match_words = '<\(\w\w*\):</\1,{:}'
  autocmd FileType xml let b:match_words = '<\(\w\w*\):</\1,{:}'

尝试一下,看看它是否有帮助。

答案 3 :(得分:0)

MatchTagAlways是一个插件,始终突出显示包含光标位置的XML / HTML标记。

https://github.com/Valloric/MatchTagAlways