Как мне исправить отступы его огромных html-файлов, которые были испорчены?
Я попробовал обычную "gg=G
команду , которую я использую для исправления отступов файлов кода. Однако, похоже, это не работает с файлами HTML. Он просто удалил все форматирование.
Я также попытался установить :filetype = xml
, чтобы увидеть, поможет ли обман его, думая, что это XML-файл, но он все равно не сделал этого.
html
vim
vi
indentation
mmcdole
источник
источник
Есть несколько вещей, которые все должны быть на месте. Просто чтобы обобщить их все в одном месте:
Установите следующую опцию:
Затем либо переместите курсор в начало файла и сделайте отступ до конца:
gg
=G
либо выделите нужный текст для отступа и нажмите, =чтобы сделать отступ.
источник
home.html
. У меня нет проблем с отступом файлов .php. Вот мой .vimrc: pastebin.com/FAJ0MCA9vim 7.4
по умолчанию параметры отступов будут терпеть неудачу на этом примере, какhtml
,body
иp
не отступа по умолчанию. Смотрите этот ответ .smartindent
не нужно. Также он настроен для C и C ++, я предпочитаю использовать более общиеautoindent
.Основная проблема с использованием интеллектуального отступа заключается в том, что если XML (или HTML) находится в одной строке, так как он может вернуться из запроса curl, тогда
gg=G
это не поможет. Вместо этого я только что испытал хороший отступ с использованием tidy, вызываемого напрямую из VI:По сути, это указывает VI вызвать tidy для очистки XML-файла, не оборачивая строки, чтобы они соответствовали стандартным строкам шириной в 68 символов. Я обработал большой XML-файл размером 29 МБ, и это заняло 5 или 6 секунд. Я предполагаю, что для файла HTML команда должна быть:
Как упоминалось в комментариях,
tidy
это основной инструмент, который вы можете найти во многих базовых системах Linux / MacOS. Вот страница проекта, если вы хотите, чтобы она у вас была, но нет: HTML Tidy .источник
Как поясняет Тайлерл выше, установите следующее:
Тем не менее, обратите внимание , что в Vim 7.4 HTML - теги
html
,head
,body
, и некоторые другие не отступа по умолчанию. Это имеет смысл, поскольку почти все содержимое HTML-файла попадает под эти теги. Если вы действительно хотите, вы можете сделать так, чтобы эти теги были с отступом:См. « Отступы HTML не работают в скомпилированном Vim 7.4, есть идеи? » И « Альтернативный сценарий отступов html » для получения дополнительной информации.
источник
Это мое решение, которое отлично подходит для открытия «уродливого» HTML с хорошо разнесенными интервалами:
sw
вызвана тем, что у меня по умолчанию 4, что слишком много для HTML.>
).=
.>
(так как у меняset hlsearch
в vimrc).Вы даже можете добавить
| wq! fileOut.html
в конец, если не хотите входить в Vim вообще, а просто очистите файл.источник
:%s/>\s*/>\r/g
(добавилg
для глобальной замены и\s*
удаления конечных пробелов). Я также добавил,:%s/</\r</g
чтобы добавить новую строку перед открытой скобкой. В противном случае теги вроде<td>foo</td>
бы разделялись на<td>
иfoo</td>
.Я использую этот скрипт: https://github.com/maksimr/vim-jsbeautify
По приведенной выше ссылке у вас есть вся информация:
:call HtmlBeautify()
Прекрасно справляется со своей работой!
источник
Вы пробовали использовать скрипт отступов HTML на сайте Vim?
источник
/usr/share/vim/vim74/indent/html.vim
). «4 июля 2014 г .: Vim 7.4.356 или более поздняя версия включает потомок этого скрипта (официальный скрипт теперь поддерживается Брэмом и включает в себя огромные изменения)»Вот тяжелое решение, которое заставляет вас делать отступы, плюс вся красивая HTML-печать, о которой вы не обязательно хотите заботиться во время редактирования.
Сначала скачайте Tidy . Убедитесь, что вы добавили двоичный файл в свой путь, чтобы его можно было вызывать из любого места.
Затем создайте файл конфигурации, описывающий ваш любимый вариант HTML. Документация не очень удобна для Tidy, но вот обзор и список всех опций . Вот мой файл конфигурации:
Сохраните это как
tidyrc_html.txt
в своейftplugin
папке (в vimfiles).Еще один файл: добавьте следующую строку в (или создайте)
html.vim
, также вftplugin
:Чтобы использовать его, просто откройте HTML-файл и введите
/tidy
. (Это/
является<leader>
ключевым.)Вот так! Во всяком случае, это не быстрое решение, но теперь вы немного лучше подготовлены для редактирования этих огромных, испорченных файлов HTML.
источник
Вы можете автоматически интегрировать tidy и html-beautify , установив плагин vim-autoformat . После этого вы можете запустить любой установленный форматтер одним нажатием клавиши.
источник
Если автоформат / отступ vim
gg=G
кажется "сломанным" (например, отступ слева от каждой строки), скорее всего, плагин отступа не включен / не загружен. Он действительно должен выдавать сообщение об ошибке, а не просто делать плохие отступы, иначе пользователи просто думают, что функция автоформатирования / отступов ужасна, хотя на самом деле она довольно хороша.Чтобы проверить, включен / загружен плагин indent, запустите
:scriptnames
. Посмотрите, есть ли.../indent/html.vim
в списке. Если нет, значит, плагин не загружен. В этом случае добавьте эту строку в~/.vimrc
:Теперь, если вы откроете файл и запустите
:scriptnames
, вы должны увидеть.../indent/html.vim
. Затем запуститеgg=G
, что должно сделать правильный автоформат / отступ. (Хотя он не будет добавлять новые строки, поэтому, если весь html-код находится в одной строке, он не будет иметь отступа).Примечание: если вы работаете
:filetype plugin indent on
в командной строке vim вместо~/.vimrc
, вы должны повторно открыть файл:e
.Кроме того , вам не нужно беспокоиться о
autoindent
иsmartindent
настройки, они не актуальны для этого.источник
Ни один из ответов у меня не сработал, потому что весь мой HTML был в одной строке.
Обычно вам нужно сначала разорвать каждую строку с помощью следующей команды, которая заменяет
><
те же символы, но с разрывом строки посередине.Тогда команда
сделает файл отступом.
источник