On Saturday, August 15, 2015 at 12:42:27 AM UTC-6, Gary Johnson wrote: > On 2015-08-14, wolfv wrote: > > I am using vim 7.4 with > > markdown heading folding from https://gist.github.com/vim-voom/1035030 > > and highlighting from /usr/share/vim/vim74/syntax/markdown.vim > > > > With this setup, folded headings are preceded by "+-- N lines: ", where N > > is the heading level. > > Unfolded headings are rendered as is. > > This causes folded and unfolded headings to misalign. > > In this example, heading3 is unfolded: > > > > +-- 37 lines: #heading1 > > > > +-- 85 lines: #heading2 > > > > #heading3 > > > > Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod > > tempor incididunt ut labore et dolore magna aliqua. > > > > +-- 16 lines: #heading4 > > > > Where in the vim script are the "+-- N lines: " added to the folded > > markdown headings? > > I would like to change the vim script so that folded and unfolded headings > > align on the left, something like this: > > > > #heading1 :37 lines > > > > #heading2 :85 lines > > > > #heading3 > > > > Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod > > tempor incididunt ut labore et dolore magna aliqua. > > > > #heading4 :16 lines > > Those lines aren't added by the script; they are added by Vim itself > and the foldtext() function, which is the default value of the > 'foldtext' option. See > > :help foldtext() > :help 'foldtext' > :help fold-foldtext > > As described in those help topics, you can create your own > 'foldtext' expression or function to format the fold lines as you > like. > > As an example, here is the 'foldtext' function from my ~/.vimrc that > I use for almost all my folding. > > set foldtext=MyFoldText() > function! MyFoldText() > let n = v:foldend - v:foldstart + 1 > let i = indent(v:foldstart) > let istr = repeat(' ', i) > return istr . "+-" . v:folddashes . " " . n . " lines " > endfunction > > Regards, > Gary
Thank you Gary for the great explanation. My foldtext is working as desired: setl foldtext=getline(v:foldstart).'\ \ \ :'.(v:foldend-v:foldstart) -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
