Wyłączanie częściowego wcięcia HTML w Vimie


9

Zastrzeżenie: Nie jestem programistą.

To powiedziawszy, są rzadkie sytuacje, w których muszę edytować HTML. Kiedy to robię, zauważyłem w Vimie zachowanie, którego nie lubię i mam nadzieję, że mogę to zmienić przez konfigurację.

Kiedy koduję, zwykle zawijam linie po 80 znaków. To często oznacza, że ​​muszę podzielić tagi HTML na linie. Chciałbym, żeby było to rozsądne wcięcie. Na przykład mógłbym mieć następujący kod i chciałbym, aby był wcięty podobnie:

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

Ale domyślnie autoindentacja Vima spowoduje wcięcie podzielonych znaczników HTML na taki sam poziom, jak znacznik HTML zaczyna się w poprzednim wierszu. Innymi słowy, otrzymuję coś takiego:

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

Właśnie tego nie chcę. Podczas pisania stwierdzam, że ciągle muszę wracać i poprawiać wcięcia w ten sposób.

Ogólnie lubię autoindent Vima i nie chcę po prostu wyłączać go uniwersalnie. Wolałbym po prostu wyłączyć lub zmienić wcięcie podzielonego znacznika HTML, ale nie wiem, jak to zrobić.

Czy można to zmienić?

(Próbowałem przeszukać Stackoverflow dla tego pytania, ale nie mogłem go znaleźć. Jeśli jest to duplikat, wskaż mi oryginał).

EDYCJA: Rozwiązanie znaleziono tutaj https://www.reddit.com/r/vim/comments/3ogbna/disablica_partial_html_indentation_in_vim/cvy8p3u

EDYCJA 2: OK, powyższe rozwiązanie nie rozwiązało problemu. Nadal tam jest.


1
Zaskakuje mnie przykład wcięcia, który podałeś w ostatnim fragmencie: wypróbowałem go na mojej waniliowej instalacji Homebrew (wersja 7.4) i działa on tak, jak się spodziewałem: kiedy nacisnąłem <Enter> na końcu linii, z autoindentwłączonym vimem wcina następny wiersz jako wiersz, który właśnie zakończyłem. Domyślam się, że możesz mieć wtyczkę, która zmienia domyślny model wcięcia.
Vlad GURDIGA,

@VladGURDIGA, tak, zaczynam to podejrzewać. Będę musiał zanurzyć się w moim vimrc i zobaczyć, co mogę wymyślić. Mój vimrc jest tutaj, btw github.com/criswell/meh/blob/master/vim/.vimrc
criswell

sprawdź także ~ / .vim /, ponieważ cokolwiek tam jest, jest również ładowane, zwykle wtyczki ftpl, kolory i inne rzeczy ładujące się automatycznie. 8-)
Vlad GURDIGA

Zapytałem również na reddit i dostałem tę odpowiedź, która okazała się naprawić reddit.com/r/vim/comments/3ogbna/… . Zaktualizuję odpowiednio moje pytanie.
criswell

Miły! Dziękujemy za kontynuację! :)
Vlad GURDIGA

Odpowiedzi:


4

Polecam wtyczkę tidy-html5 .


Jako programista stron internetowych zalecam również trochę wyrównywanie tagów HTML,

AirBnb React Styleguide (najbardziej czytelny)

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

Przewodnik po stylach HTML Google (częściej)

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

To naprawdę pomoże formaterom uniknąć szalonych wcięć.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.