Vimwiki конфліктує зі стандартним згортанням віму, а сам реалізує цю функцію дуже повільно, а також мене бісить приховування лістингів, тому ось, що я зробив:
let g:vimwiki_folding = 'custom'
let g:markdown_folding = 1
" unfold top-level headings
set foldlevelstart=1
Із цим проблема в тому, що він сприймає кінець блоку метаданих томл як заголовок (можна залишати одну порожню стрічку), вирішити це можна так:
function MarkdownLevel()
let h = matchstr(getline(v:lnum), '^#\+')
if empty(h)
return "="
else
return ">" . len(h)
endif
endfunction
au BufEnter *.md setlocal foldexpr=MarkdownLevel()
au BufEnter *.md setlocal foldmethod=expr
Криво? Трохи, але ж працює!
Посилання §
- https://github.com/vimwiki/vimwiki/issues/714
- https://github.com/vimwiki/vimwiki/issues/461#issuecomment-463249175
- https://vim.fandom.com/wiki/Keep_folds_closed_while_inserting_text
- https://github.com/Konfekt/FastFold
- https://github.com/tpope/vim-markdown/blob/feadbc81e27f277187c29957ec6114f1e95f2162/ftplugin/markdown.vim#L82