Como posso obter vim é closetag plugin para o trabalho para todas as tags HTML?

StackOverflow https://stackoverflow.com/questions/1452716

  •  12-09-2019
  •  | 
  •  

Pergunta

Eu estou usando o plugin closetag.vim, mas não parece trabalho para todas as tags. No código do plugin existe a tag var ignorado que contém alguém que eu notei não estavam fechando ex dd dl, mas há muitos outros que não estão na lista que não estão funcionando (p, ul, li).

Nada parecia acontecer depois de atualizar a lista de marcas ignoradas.

Para obter este plugin para o trabalho que você acabou de digitar o texto da etiqueta e clique na guia, certo? ie div

Estou faltando alguma coisa?

Foi útil?

Solução

Como você instalar o plugin?

Eu tive problemas com closetag.vim quando eu instalei-o em ~/.vim/plugins. Em seguida, mudei-lo em ~/.vim/scripts vez, e aditado o seguinte ao meu .vimrc:

:let g:closetag_html_style=1
:source ~/.vim/scripts/closetag.vim

e agora ele funciona muito bem para mim. Acho que ele fecha todas as tags (incluindo aqueles incluídos na lista de 'ignorar'), mas não aqueles que são auto-fechamento (por exemplo <img/>).

Na versão do script que estou usando (0.9.1), que define <C-_> como o gatilho para completar tags. Se você mapeou o comando para <tab>, em seguida, que deve funcionar também.

Outras dicas

Eu também não pode obter este plugin para o trabalho, no entanto, no meu caso o que ele jogue fora uma série de mensagens de erro antes de finalmente trabalhar. Por exemplo, se eu tentar fechar um tag H1 I terá a Error Detected while processing function GetCloseTag erro e o erro é uma undefined variable b:UnaryTagsStack.

Parece que seria um plugin útil, mas ele simplesmente não vai cooperar.

Eu tive o mesmo problema ea resposta de nelstrom acima não resolver isso para mim. O que funcionou para mim foi adicionando as seguintes linhas ao meu .vimrc:

if !exists("b:unaryTagsStack") || exists("b:closetag_html_style")
    if &filetype == "html" || exists("b:closetag_html_style")
        let b:unaryTagsStacktack="area base br dd dt hr img input link meta param"
    else " for xml and xsl
        let b:unaryTagsStack=""
    endif
endif

if !exists("b:unaryTagsStack")
    let b:unaryTagsStack=""
endif

Eu não sei por que adicionar apenas let b:unaryTagsStack="" não fazer o truque, mas a combinação acima parece corrigi-lo em todos os tipos de arquivo para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top