Как сложить / развернуть HTML-теги с помощью Vim
есть ли плагин для складывания HTML-тегов в Vim?
Или есть другой способ настроить ярлык для сворачивания или разворачивания html-тегов?
Я хотел бы сложить / развернуть HTML-теги так же, как я делаю со складыванием отступов.
6 ответов
Я нашел zfat
(или, в равной степени, zfit
) хорошо работает для сворачивания с HTML-документами. za
переключит (откроет или закроет) существующую складку. zR
открывает все складки в текущем документе,zM
эффективно повторно включает все существующие складки, отмеченные в документе.
если вы обнаружите, что широко используете складки, вы можете сделать некоторые удобные привязки для себя в своем .vimrc.
если вы отступаете в HTML, должно работать следующее:
set foldmethod=indent
проблема с этим, я нахожу, есть слишком много складки. Чтобы обойти это, я использую zO
и zc
для открытия и закрытия вложенных складок соответственно.
посмотреть help fold-indent
дополнительные сведения:
The folds are automatically defined by the indent of the lines.
The foldlevel is computed from the indent of the line, divided by the
'shiftwidth' (rounded down). A sequence of lines with the same or higher fold
level form a fold, with the lines with a higher level forming a nested fold.
The nesting of folds is limited with 'foldnestmax'.
Some lines are ignored and get the fold level of the line above or below it,
whichever is lower. These are empty or white lines and lines starting
with a character in 'foldignore'. White space is skipped before checking for
characters in 'foldignore'. For C use "#" to ignore preprocessor lines.
When you want to ignore lines in another way, use the 'expr' method. The
indent() function can be used in 'foldexpr' to get the indent of a line.
установить js-украсить команда (версия JavaScript)
npm -g install js-beautify
wget --no-check-certificate https://www.google.com.hk/ -O google.index.html
js-beautify -f google.index.html -o google.index.bt.html
http://www.google.com.hk orignal html:
js-украсить и vim раза:
добавить к ответу Джеймса лая. Первоначально мой foldmethod=синтаксис, поэтому zfat не будет работать. Решение установить foldemethod к руководству
:setlocal foldmethod=manual
чтобы проверить, какой foldmethod используется,
:setlocal foldmethod?
складной html с синтаксисом foldmethod, который проще.
этот ответ основан на синтаксис HTML складывается в vim. автор - @Ingo Karcat.
-
установите метод fold в синтаксис со следующим:
командная строка vim
:set foldmethod=syntax
или поставить параметр
~/.vim/after/ftplugin/html.vim
setlocal foldmethod=syntax
-
Также обратите внимание, что до сих пор синтаксический скрипт по умолчанию складывает только многострочный тег сам по себе, а не текст между открывающим и закрывающим тегом.
So, this gets folded: <div class="foo" id="bar" > And this doesn't <div> <b>text between here</b> </div>
-
чтобы сложить между тегами, вам нужно расширить синтаксический скрипт, через следующее, лучшее место в
~/.vim/after/syntax/html.vim
складывание синтаксиса выполняется между всеми, кроме void html-элементов (те, у которых нет заключительного брата, например
<br>
)syntax region htmlFold start="<\z(\<\(area\|base\|br\|col\|command\|embed\|hr\|img\|input\|keygen\|link\|meta\|para\|source\|track\|wbr\>\)\@![a-z-]\+\>\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d
во-первых set foldmethod=syntax
и zfit
сложить начальный тег и zo
чтобы развернуть теги, он хорошо работает на моем vim.