Vim Tips Wiki
Advertisement

Previous TipNext Tip

Tip: #874 - Fold C-style comments

Created: February 11, 2005 13:24 Complexity: intermediate Author: David Vos Version: 6.0 Karma: 5/4 Imported from: Tip#874

Do want to make the 10-line /*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 "transperent" 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.

Comments

For displaying text in the folded column, there is also a script available, GetFDCText or something like that.

Anonymous , February 13, 2005 12:03


How do I use it. I want to see just code and not the function headers which are in comments.


itsmangesh--AT--gmail.com , March 1, 2005 2:18


Advertisement