Skip to content

Instantly share code, notes, and snippets.

@mogelbrod
Created December 12, 2012 09:13
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save mogelbrod/4266297 to your computer and use it in GitHub Desktop.
Vim fold function which does indentation based folding.
function! IndentationFoldExpr(ln) " {{{
let line = getline(a:ln)
if line =~ '^\s*$'
return '-1' "'='
end
let ind = indent(a:ln) / &sw
let ind_next = indent(nextnonblank(a:ln+1)) / &sw
if ind_next <= ind
return ind
elseif ind_next > ind
return '>'.ind_next
end
endfunction " }}}
au FileType txt setlocal foldmethod=expr foldexpr=IndentationFoldExpr(v:lnum)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment