Vim Tips Wiki

Fold C-style comments

Revision as of 21:12, January 11, 2011 by Trcollinson (Talk | contribs)

1,619pages on
this wiki

Obsolete tip

This tip has been merged into another tip.
See VimTip108 for the current tip.

Please do not edit this tip, and do not edit the discussion page.
If anything needs to be improved, please fix VimTip108.

This tip is deprecated for the following reasons:

Comment syntax folding is included by default in the c.vim syntax file.

Tip 874 Printable Monobook Previous Next

created February 11, 2005 · complexity intermediate · author David Vos · version 6.0

Do you want to make a 10-line /*C-style*/ comment disappear?

You can add folding capability to C-style comments using the command:

au BufNewFile,BufRead *.cpp,*.c,*.h,*.java syn region myCComment start="/\*" end="\*/" fold keepend transparent

This will work on C, .h, C++, and Java files.

The "keepend" and "transparent" commands are necessary to avoid overriding the default syntax highlighting of comments.

If you want to keep the "/*" beginning of the comment in the folded text, you can use the following function:

set foldtext=MyFoldText()
function MyFoldText()
  let line = getline(v:foldstart)
  let sub = substitute(line, '^[\t ]*', '', '')
  let nlines = v:foldend - v:foldstart + 1
  if strlen(nlines) == 1
    let nlines = " " . nlines
  elseif strlen(nlines) == 2
    let nlines = " " . nlines
  return "+-" . v:folddashes . nlines . ": " . sub

The resulting line should look about the same as the default, without removing the comments.


Around Wikia's network

Random Wiki