Before: let g:vim_markdown_folding_style_pythonic = 1 source ../after/ftplugin/markdown.vim After: setlocal foldexpr=0 setlocal foldmethod=manual Given markdown; # Title ## Chapter 1 ``` This is code block # This is just a comment ``` ## Chapter 2 foobar Execute (fold level # in code block): AssertEqual foldlevel(1), 0, '# Title' AssertEqual foldlevel(3), 1, '## Chapter 1' AssertEqual foldlevel(7), 1, '# This is just a comment' AssertEqual foldlevel(8), 1, '```' AssertEqual foldlevel(10), 1, '## Chapter 2' AssertEqual foldlevel(12), 1, 'foobar' Execute (fold text of chapters): AssertEqual foldtextresult(3), '## Chapter 1 ' . repeat('-', winwidth(0) - 18) . ' 6' AssertEqual foldtextresult(10), '## Chapter 2 ' . repeat('-', winwidth(0) - 18) . ' 2' Given markdown; Fold text 1 ==+ Fold Level 1 Fold text 2 --+ Fold Level 2 Execute (fold level ==+, --+): AssertEqual foldlevel(2), 0, '==+' AssertEqual foldlevel(4), 1, '--+' Execute (fold text of ==+, --+): AssertEqual foldtextresult(3), 'Fold text 2 ' . repeat('-', winwidth(0) - 17) . ' 1' Given markdown; Headline foobar # Title Execute (fold any preamble): AssertEqual foldlevel(1), 1, 'Headline' AssertEqual foldlevel(3), 1, 'foobar' AssertEqual foldlevel(5), 0, '# Title'