Tip #333: Syntax-based folding for c/c++/java
tip karma |
Rating 19/10, Viewed by 2150
|
created: |
|
September 23, 2002 18:32 |
|
complexity: |
|
intermediate |
author: |
|
Kartik Agaram |
|
as of Vim: |
|
6.0 |
Here's a function to toggle the use of syntax-based folding for a c/c++/java file. It also handles folding markers.
function! OutlineToggle()
if (! exists ("b:outline_mode"))
let b:outline_mode = 0
endif
if (b:outline_mode == 0)
syn region myFold start="{" end="}" transparent fold
syn sync fromstart
set foldmethod=syntax
silent! exec "%s/{{{/<<</"
silent! exec "%s/}}}/>>>/"
let b:outline_mode = 1
else
set foldmethod=marker
silent! exec "%s/<<</{{{/"
silent! exec "%s/>>>/}}}/"
let b:outline_mode = 0
endif
endfunction
<<make footnotes in vim |
Loading scripts in .vimrc safely >>
Additional Notes
|