Como pular entre tags correspondentes (como <div>
, <span>
etc.) ao editar documentos HTML / XHTML / XML da mesma forma que %é usado para pular entre parênteses?
Como pular entre tags correspondentes (como <div>
, <span>
etc.) ao editar documentos HTML / XHTML / XML da mesma forma que %é usado para pular entre parênteses?
Respostas:
O Vim é enviado com uma macro chamada matchit que faz isso por você; tudo o que você precisa fazer é ativá-lo runtime macros/matchit.vim
no seu vimrc. Isso permitirá que você pule de, por exemplo, a <div>
para o seu </div>
. Observe que seu cursor deverá estar dentro dos colchetes angulares; se você estiver entre colchetes angulares, %passará de um colchete para outro normalmente.
Você pode pular entre tags usando operadores visuais, por exemplo:
Seu cursor deve avançar para a tag html / xml de fechamento correspondente. Para pular para trás da etiqueta de fechamento, pressione oou Opara pular para a etiqueta oposta.
Agora você pode sair visual pressionando Esc, alterando cou copiando por y.
Para gravar essa ação no registro, pressione qqpara iniciar a gravação, execute o salto de tag conforme acima (inclusive Esc), pressione qpara finalizar. Em seguida, para ativar o salto, pressione @q.
Veja mais ajuda em :help visual-operators
ou :help v_it
:
at um
<tag> </tag>
bloco (com tags)it
<tag> </tag>
bloco interno
Como alternativa, use plug- ins como matchit.vim ou surround.vim .
Veja também:
O plug-in xmledit
( http://vimawesome.com/plugin/xmledit ) permite alternar entre as tags de abertura e fechamento usando
Freqüentemente <localleader> será \, para que você possa pular com
NOTA: Ao contrário matchit
, você não precisa colocar o cursor dentro da tag. Colocá-lo diretamente no <
ou >
é perfeitamente adequado para o xmledit
plug - in. :)
NOTA 2: Uma desvantagem aqui é que você não pode usá-lo no modo visual. Mas isso não é grande coisa, pois você sempre pode selecionar a tag inteira at.
>
ele funcionará como antes, se você estiver usandodiv
ele funcionará como deseja).