Loading ...
Sorry, an error occurred while loading the content.

125068Re: A mile of dashes added to foldtext

Expand Messages
  • Benjamin R. Haskell
    Aug 1 5:29 AM
    • 0 Attachment
      On Mon, 1 Aug 2011, Erik Christiansen wrote:

      > set foldtext=substitute(getline(v:foldstart),'/\\*\\\|\\*/\\\|{{{\\d\\=','','g')
      > [}}}]
      > [...]
      > let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
      > [}}}]
      > [...]
      > It has also become clear that I'll have to constrain the folding with
      > some "au BufNewFile,BufRead", because .vimrc is only partly displayed,
      > apparently due to the foldtext regex being interpreted as the start of
      > a fold.

      Three ways to work around this portion of the problem:

      1. Limit the damage by placing a closing foldmarker in a comment:


      set foldtext=substitute(getline(v:foldstart),'/\\*\\\|\\*/\\\|{{{\\d\\=','','g') " }}}

      2. Replace the three-open-brace portion of the regular expression with
      something equivalent:


      Change '{{{' into '[{]{{' " [ed. preventing the fold on this line]: }}}

      3. Use setlocal instead of set to set up foldmethod=marker.

      If you set fdm=manual, then folding is manual globally. Then in
      specific filetypes you can enable fdm=marker.

      E.g. I use:

      " in .vimrc:
      set fdm=manual
      au Filetype php setl fdm=marker


      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
    • Show all 7 messages in this topic