O VIM oferece suporte para pares correspondentes de colchetes, parênteses e colchetes. Isso é ótimo para editar linguagens no estilo C, como PHP e Javascript. Mas e as tags HTML correspondentes?
O Notepad ++ possui esse recurso há tanto tempo que eu o uso. Ser capaz de identificar onde os blocos de HTML começam e terminam é muito útil. O que estou procurando é algo parecido com isto para o vim (veja as tags div verdes):
(um recurso de bônus: destacar tags HTML não fechadas, como a etiqueta vermelha nesta captura de tela).
O matchit foi proposto como a melhor opção, mas requer um pressionamento de tecla extra para usar sua funcionalidade. Eu gostaria de ver onde os blocos de HTML começam e terminam sem pressionar mais as teclas.
Eu vasculhei a internet para encontrar algo parecido com isto para o vim. Aparentemente, eu não sou o único, de acordo com 2 outros StackOverflow perguntas e Nabble .
Eu quase me demiti do vim por não conseguir corresponder visualmente as tags html. É possível que o vim faça isso?
Adendo: Se atualmente não for possível fazer isso com nenhum plug-in existente, algum assistente de vimscript por aí tem alguma dica sobre como abordar a criação de um plug-in adequado?
Respostas:
Hoje tive que trabalhar com um pouco de HTML, então pensei em resolver isso. Adicionado um ftplugin no vim.org que deve resolver seu problema.
Você pode obtê-lo aqui no vim.org .
Você pode obtê-lo aqui no github .
Espero que funcione para você. Deixe-me saber se você tiver algum problema.
fonte
O plug-in MatchTag.vim de Greg é incrível, mas eu queria algo mais. Eu queria que as tags anexas fossem sempre destacadas, não apenas quando o cursor estiver em uma das tags.
Então, eu escrevi o MatchTagAlways, que faz tudo o que o MatchTag de Greg faz e também destaca sempre a marca anexa, não importa onde o cursor esteja no código. Também funciona com tags não fechadas e linguagens de modelagem HTML, como Jinja ou Handlebars.
Aqui está um GIF mostrando em ação:
fonte
Eu vim aqui procurando por colchetes angulares de estilo html no Vim. Isso parece funcionar:
fonte