如何使用方括号跳过HTML标记

时间:2017-04-27 11:31:46

标签: vim

我使用[[]]在Python中的类之间跳转。我还想在同一缩进级别的HTML标记之间跳转。

例如:

<div>
    <li>Hello</li>
    <li>Hello</li>
</div>
<div>
    <li>Hello</li>
    <li>Hello</li>
</div>

如果光标位于第一个div元素上,当我按div时,它应该转到第二个]]。如果光标位于li元素上,则应转到下一个li元素,然后转到下一个div元素。

我如何在.vimrc中映射它?

1 个答案:

答案 0 :(得分:1)

在正常模式下按时,如果光标位于<div,则移至下一个<div>,否则移至下一个<li或{ {1}}

如果光标在<div上,请转到下一个<div。否则,请转到下一个<div<li

<div

使用function! NextTag() call search( getline('.') =~? 'div' ? '<div' : '<\(li\|div\)') endfunction nnoremap , :call NextTag()<cr> 在vimrc中添加上述内容,然后使用:e $MYVIMRC重新加载

假设:一个简单的标记结构,就像您发布的示例一样。嵌套的div和li可能无法正常工作。 div和li并没有出现在同一行