2017-04-27 34 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不會出現在同一行上