I see a few posts saying I should use zfat
to fold html tags. So i tried it but did not get the results I expected. For example, I had this in my document
<div id="begin">
<p>hello world</p>
</div>
I moved my cursor in vim to the first line of <div id="begin">
. Then I pressed escape to make sure I'm in command mode. Then I pressed the keys z
, f
, a
and t
. But nothing happened. I even tried typing z
, f
, a
and {
, which normally folds blocks of PHP code, but it has no effect on the html.
Can some one tell me the exact steps to fold the html div tags?
Thanks
zf
indeed is the command to create a manual fold. For that to work, you need to have
:setlocal foldmethod=manual
(There will be an E350
otherwise.) The at
is a text object for a tag. You can check what it comprises by applying it to visual mode instead: vat
.
Note that manual folding is tedious; I'd recommend to use the syntax folding that comes with the built-in HTML syntax plugin. Just put
:setlocal foldmethod=syntax
in ~/.vim/after/ftplugin/html.vim
to enable it.
Also note that so far (as of Vim 7.4.1830), the default HTML syntax script only folds a multi-line tag itself, not the text between the opening and closing tag. To achieve that, you need a syntax extension, see here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With