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.