Use zv em vez de zO . Isso funcionará sem uma mensagem de erro, seja em uma dobra ou não.
para pular no vim, eu uso
nnoremap <c-j> /<++><cr>c/+>/e<cr>
mas, quando o <++> está em uma dobra fechada, o <c-j> exclui todas as dobras, por isso eu mudo para
nnoremap <c-j> /<++><cr>zOc/+>/e<cr>
mas, quando o <++> não está em uma dobra eu recebo
E490: No fold found
Tags vim vimrc code-folding