2017-04-27 56 views
0

我使用[[]]在Python中的类之间跳转。我也想跳过处于相同缩进级别的HTML标签。如何使用方括号跳过HTML标记

例如:

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

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

如何将它映射到.vimrc中?

回答

1

在正常模式下被按下时,移动到下一个<div如果光标在<div>,否则移到下一<li<div

如果光标<div,进入下一<div。否则进入下一<li<div

function! NextTag() 
    call search(getline('.') =~? 'div' ? '<div' : '<\(li\|div\)') 
endfunction 

nnoremap , :call NextTag()<cr> 

添加上述在vimrc与:e $MYVIMRC:source $MYVIMRC

假设重新加载它:一个简单的标签结构像你张贴的例子。嵌套的div和li可能无法按预期工作。 div和li不会出现在同一行上