Вимкнення часткового відступу HTML у Vim


9

Caveat: Я не веб-розробник.

Незважаючи на це, трапляються рідкісні випадки, коли мені доводиться редагувати HTML. Коли я це роблю, я помітив поведінку у Vim, яка мені не подобається, і сподіваюся, що я можу змінитись через конфігурацію.

Коли я кодую, я схильний обертати лінії на 80 символів. Це часто означає, що мені доводиться розділяти теги HTML по рядках. Мені б хотілося, щоб це було певним відступом, коли це станеться. Так, наприклад, у мене може бути наступний код і хотілося б, щоб він був з відступом аналогічно:

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

Але, за замовчуванням, автоповтор Vim буде відступати розділеними тегами HTML на той самий рівень, що і тег HTML, починаючи з попереднього рядка. Іншими словами, я отримую щось подібне:

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

Що саме таке, чого я не хочу. Коли я друкую, я вважаю, що мені постійно доводиться повертатися назад і виправляти такі відступи.

Мені подобається автозахист Vim взагалі, і я не хочу просто відключати його універсально. Я вважаю за краще просто відключити або змінити розділений відступ HTML-тегів, але не можу зрозуміти, як це зробити.

Чи можна це змінити?

(Я намагався шукати Stackoverflow для цього питання, але не міг його знайти. Якщо це дублікат, будь ласка, вкажіть мене на оригінал.)

EDIT: рішення знайдено тут https://www.reddit.com/r/vim/comments/3ogbna/disabling_partial_html_indentation_in_vim/cvy8p3u

EDIT № 2: Гаразд, вищевказане рішення не вирішило проблему. Це все ще є.


1
Мені здається дивним приклад відступу, який ви подали в останньому фрагменті: я спробував це на моїй ванільній установці Homebrew (версія 7.4), і він працює так, як я очікував: коли я натиснув <Enter> в кінці рядка, з autoindentувімкненим vim відступає наступний рядок як рядок, який я щойно закінчив. Тож я здогадуюсь, що у вас може бути плагін, який змінює модель відступів за замовчуванням.
Влад ГУРДІГА

@VladGURDIGA, так, я починаю це підозрювати. Мені доведеться зануритися у свій vimrc і подивитися, що я можу придумати. Мій vimrc тут, btw github.com/criswell/meh/blob/master/vim/.vimrc
criswell

також перевірте ~ / .vim /, оскільки все, що там є, також завантажується, зазвичай ftplugins, кольори та інші речі з автоматичним завантаженням. 8-)
Влад ГУРДІГА

Я також запитав на reddit і отримав цю відповідь, яка виявилася виправити reddit.com/r/vim/comments/3ogbna/… . Я відповідно оновлю своє запитання.
criswell

Приємно! Дякую за подальші дії! :)
Влад ГУРДІГА

Відповіді:


4

Я рекомендую плагін tidy-html5 .


Як сам веб-розробник, я також рекомендую трохи вирівняти теги HTML,

AirBnb React Styleguide (найбільш розбірливий)

<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 (частіше)

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

Це дійсно допоможе форматорам уникнути шалених відступів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.