Disabilitazione del rientro HTML parziale in Vim


9

Avvertenza: non sono uno sviluppatore web.

Detto questo, ci sono rare occasioni in cui devo modificare HTML. Quando lo faccio, ho notato un comportamento in Vim che non mi piace e spero di poter cambiare tramite la configurazione.

Quando scrivo codice, tendo a racchiudere le righe a 80 caratteri. Questo spesso significa che devo dividere i tag HTML su più righe. Quello che mi piacerebbe è un rientro sensato quando questo accade. Quindi, ad esempio, potrei avere il seguente codice e vorrei che rientrasse in modo simile:

<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>

Ma, per impostazione predefinita, l'autoindentazione di Vim indenterà i tag HTML divisi allo stesso livello del tag HTML che inizia nella riga precedente. In altre parole, ottengo qualcosa di simile al seguente:

<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>

Che è esattamente ciò che non voglio. Mentre scrivo, trovo che devo costantemente tornare indietro e correggere i rientri in questo modo.

Mi piace l'autoindent di Vim in generale, e non voglio semplicemente disabilitarlo universalmente. Preferirei semplicemente disabilitare o modificare il rientro del tag HTML diviso, ma non riesco a capire come.

È possibile cambiarlo?

(Ho provato a cercare Stackoverflow per questa domanda, ma non sono riuscito a trovarla. Se è un duplicato, ti prego di indicarmi l'originale.)

EDIT: la soluzione è stata trovata qui https://www.reddit.com/r/vim/comments/3ogbna/disabling_partial_html_indentation_in_vim/cvy8p3u

EDIT # 2: Ok, la soluzione sopra non ha risolto il problema. È ancora lì.


1
Trovo sorprendente l'esempio di rientro che hai fornito nell'ultimo frammento: l'ho provato sulla mia installazione Homebrew vanilla (versione 7.4) e funziona come mi aspettavo: quando ho premuto <Invio> alla fine della riga, con autoindentabilitato vim rientra la riga successiva come riga appena terminata. Quindi la mia ipotesi è che potresti avere un plugin che altera il modello di rientro predefinito.
Vlad GURDIGA,

@VladGURDIGA, sì, sto iniziando a sospettare questo. Dovrò tuffarmi nel mio vimrc e vedere cosa posso inventare. Il mio vimrc è qui, tra github.com/criswell/meh/blob/master/vim/.vimrc
criswell,

controlla anche ~ / .vim / poiché qualsiasi cosa sia presente viene caricata, di solito ftplugins, colori e altre cose di caricamento automatico. 8-)
Vlad GURDIGA

Ho anche chiesto su reddit e ho ottenuto questa risposta, che si è rivelata utile per risolverlo reddit.com/r/vim/comments/3ogbna/… . Aggiornerò la mia domanda di conseguenza.
criswell,

Bello! Grazie per il follow-through! :)
Vlad GURDIGA,

Risposte:


4

Raccomando il plugin tidy-html5 .


Come sviluppatore web, consiglio anche di allineare i tag HTML in modo leggermente diverso,

AirBnb React Styleguide (più leggibile)

<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>

Google HTML Styleguide (più comune)

<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>

Questo aiuterà davvero i formatteri a evitare pazze indentazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.