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.

Reply via email to