みたいなのを function! MyFoldFunc() let line = getline(v:lnum) if line =~ '\m^\s*[1234567890]' return '>1' elseif line =~ '\m^\s*[1-9]' return '>2' elseif line =~ '\m^\s*■' return '>3' else return '=' endif endfunction set foldmethod=expr foldexpr=MyFoldFunc()