Desativando o recuo parcial de HTML no Vim

9

Advertência: Eu não sou desenvolvedor web.

Dito isto, há raras ocasiões em que tenho que editar HTML. Quando faço isso, notei um comportamento no Vim que não gosto e espero poder mudar através da configuração.

Quando codifico, costumo quebrar linhas com 80 caracteres. Isso geralmente significa que eu tenho que dividir as tags HTML nas linhas. O que eu gostaria é de alguma indentação sensível quando isso acontece. Então, por exemplo, eu posso ter o seguinte código e gostaria que ele fosse recuado da mesma forma:

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg"><img
   src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
   class="ri" alt="This is an image"></a>

Porém, por padrão, a autoindentação do Vim recuará as tags HTML divididas no mesmo nível que a tag HTML inicia na linha anterior. Em outras palavras, recebo algo como o seguinte:

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg"><img
                                                              src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
                                                              class="ri" alt="This is an image"></a>

O que é exatamente o que eu não quero. Enquanto digito, percebo que estou constantemente tendo que voltar e corrigir recuos como este.

Gosto do autoindent do Vim em geral e não quero simplesmente desabilitá-lo universalmente. Prefiro simplesmente desativar ou alterar o recuo da tag HTML dividida, mas não consigo descobrir como.

É possível mudar isso?

(Tentei pesquisar no Stackoverflow esta pergunta, mas não a encontrei. Se for uma duplicata, por favor me aponte para o original.)

EDIT: A solução foi encontrada aqui https://www.reddit.com/r/vim/comments/3ogbna/disabling_partial_html_indentation_in_vim/cvy8p3u

EDIT # 2: Ok, a solução acima não resolveu o problema. Ainda está lá.

Criswell
fonte
11
Acho surpreendente o exemplo de indentação que você deu no último trecho: tentei na minha instalação Homebrew de baunilha (versão 7.4) e funciona como eu esperava: quando pressione <Enter> no final da linha, com o autoindentvim ativado recua a próxima linha como a linha que acabei de terminar. Então, meu palpite é que você pode ter um plugin que altera o modelo de indentação padrão.
Vlad GURDIGA
@VladGURDIGA, sim, estou começando a suspeitar disso. Vou ter que mergulhar no meu vimrc e ver o que posso fazer. Meu vimrc está aqui, btw github.com/criswell/meh/blob/master/vim/.vimrc
criswell
verifique também ~ / .vim /, pois o que quer que exista também é carregado, geralmente plugins, cores e outras coisas de carregamento automático. 8-)
Vlad GURDIGA
Também perguntei no reddit e recebi esta resposta, que acabou por corrigi-lo reddit.com/r/vim/comments/3ogbna/… . Vou atualizar minha pergunta de acordo.
Criswell
Agradável! Obrigado pelo acompanhamento! :)
Vlad GURDIGA

Respostas:

4

Eu recomendo o plugin tidy-html5 .


Como desenvolvedor da Web, também recomendo alinhar as tags HTML de maneira um pouco diferente,

Guia de estilo do AirBnb React (mais legível)

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg">
  <img
    src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
    class="ri"
    alt="This is an image"
  >
</a>

Guia de estilo HTML do Google (mais comum)

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg">
  <img src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
       class="ri" alt="This is an image">
</a>

Isso realmente ajudará os formatadores a evitar recuos malucos.

Atav32
fonte