Fold C-style comments
Talk0this 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.
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
endif
return "+-" . v:folddashes . nlines . ": " . sub
endfunction
The resulting line should look about the same as the default, without removing the comments.