Ответ 1
С filetype indent on
внутри моего .vimrc
, Vim отлично отлаживает HTML файлы.
Простой пример с shiftwidth
из 2:
<html>
<body>
<p>
text
</p>
</body>
</html>
Как исправить отступы его огромных html файлов, которые были испорчены?
Я попробовал обычную команду "gg = G" , которую я использую для исправления отступов файлов кода. Тем не менее, похоже, что это не работает на HTML файлах. Он просто удалил все форматирование.
Я также попытался установить :filetype = xml
, чтобы понять, поможет ли это обмануть его в том, что это был файл XML, но он все равно этого не делал.
С filetype indent on
внутри моего .vimrc
, Vim отлично отлаживает HTML файлы.
Простой пример с shiftwidth
из 2:
<html>
<body>
<p>
text
</p>
</body>
</html>
Есть несколько вещей, которые все должны быть на месте. Просто, чтобы суммировать их все в одном месте:
Задайте следующую опцию:
:filetype indent on
:set filetype=html # abbrev - :set ft=html
:set smartindent # abbrev - :set si
Затем либо переместите курсор в верхнюю часть файла, и отступ до конца: gg
=G
Или выберите нужный текст в отступ и нажмите =, чтобы отстутнуть его.
Обратите внимание, что в vim 7.4 по умолчанию теги html html
, head
, body
и некоторые другие не. Это имеет смысл, так как почти все содержимое в html файле попадает под эти теги. Если вы действительно этого захотите, вы можете получить эти теги так:
:let g:html_indent_inctags = "html,body,head,tbody"
Основная проблема с использованием интеллектуального отступа состоит в том, что если XML (или HTML) сидит на одной строке, так как он может вернуться из запроса на завивание, то gg=G
не будет делать трюк. Вместо этого я только что испытал хороший отступ, используя аккуратный, вызываемый непосредственно из VI:
:!tidy -mi -xml -wrap 0 %
Это в основном говорит VI, чтобы вызвать порядок очистки файла XML, не обертывая строки, чтобы они соответствовали строкам по умолчанию 68 символов. Я обработал большой XML файл размером 29 МБ, и потребовалось 5 или 6 секунд. Я думаю, для HTML файла команда должна быть:
:!tidy -mi -html -wrap 0 %
Надеюсь, это поможет.
Это мое решение, которое прекрасно работает для открытия "уродливого" HTML в удобном расстоянии:
vim fileIn.html -c "set sw=2 | %s/>/>\r/ | execute 'normal gg=G' | set nohlsearch | g/^\\s*\$/d"
Команда sw
заключается в том, что мой по умолчанию 4, что слишком велико для HTML.
Следующая часть добавляет новую строку (Vim считает, что каретка возвращается, вздыхает) после каждого элемента (>
)
Затем перетащите весь файл с помощью =
Тогда unhighlight >
(так как у меня есть set hlsearch
в моем vimrc)
Затем удалите все пустые/пробельные строки (см. здесь для большего, также это двойное экранирование, потому что оно находится в оболочке)
Вы даже можете добавить | wq! fileOut.html
в конец, если вы вообще не хотите вводить Vim, но просто очищайте файл.
Я использую этот script: https://github.com/maksimr/vim-jsbeautify
В приведенной выше ссылке у вас есть вся информация:
:call HtmlBeautify()
Прекрасно ли работает!
Вы пытались использовать отступ HTML script на сайте Vim?
Здесь тяжелое решение, которое дает вам отступы, а также всю красивую HTML-печать, которую вы не обязательно хотите заботиться во время редактирования.
Сначала загрузите Tidy. Убедитесь, что вы добавили двоичный файл к своему пути, поэтому вы можете вызывать его из любого места.
Затем создайте файл конфигурации, описывающий ваш любимый HTML-вкус. Документация не очень подходит для Tidy, но здесь обзор и список все варианты. Вот мой конфигурационный файл:
bare: yes
break-before-br: no
clean: yes
drop-proprietary-attributes: yes
fix-uri: yes
indent-spaces: 4
indent: yes
logical-emphasis: yes
markup: yes
output-xhtml: yes
quiet: yes
quote-marks: yes
replace-color: yes
tab-size: 4
uppercase-tags: no
vertical-space: yes
word-2000: yes
wrap: 0
Сохраните это как tidyrc_html.txt
в папке ftplugin
(под vimfiles).
Еще один файл: добавьте следующую строку в (или создайте) html.vim
, также в ftplugin
:
map <leader>tidy :%! tidy -config ~/vimfiles/ftplugin/tidyrc_html.txt <CR>
Чтобы использовать его, просто откройте файл HTML и введите /tidy
. (Это /
- это клавиша <leader>
.)
Иди сюда! Не быстрое решение, каким-либо образом, но теперь вы немного лучше приспособлены для редактирования этих огромных, перепутанных HTML файлов.
Вы можете интегрировать tidy и html-beautify автоматически, установив плагин vim-autoformat. После этого вы можете выполнить любой форматировщик с одним нажатием клавиши.