[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: code folding fuer vim



Christian Brabandt wrote:
Hallo Andreas!

Andreas Pakulat schrieb am Montag, den 31. Juli 2006:

$ vi foo.c
:set foldmethod=syntax

*Schaem* Mir faellt grad ein dass das bei Debian changelogs schon 1a
funktioniert. Nur warum wird das bei .cpp Dateien nicht auch automagisch
eingeschaltet???

Weil folding nicht für diesen Dateitypen gesetzt ist, würd ich sagen. Das geschieht durch die Filetype Plugins (:h ftplugins). Für die Debian
Changelogs wird das in $VIMRUNTIME/ftplugin/debchangelog.vim gesetzt, für
C/C++-Dateien halt nicht (grep fold in /usr/share/vim/vim70/ftplugin ist
sehr erhellend :-))
Abhilfe (in aufsteigender Komplexität):

    1) Folding global aktivieren für alle Dateitypen:
echo 'set foldenable' >> ~/.vimrc (und mit set foldmethod die gewünschte Foldingmethode auswählen) 2) Folding nur für C/C++ Dateien aktivieren:
    Dazu in ~/.vim/after/ftplugin/c.vim und cpp.vim Folding
    aktiviern (analog zu 1) [:h ftplugin-overrule]

Das macht sich durch autocommands ganz gut, bei mir wird filetype-spezifisches Verhalten wie folding via

if !exists("autocommands_loaded")
  let autocommands_loaded = 1
...
  autocmd FileType cpp setlocal iskeyword-=: foldmethod=syntax
" ':' aus iskeyword in cpp-files rausnehmen (wegen cscope)
endif

in .vimrc aktiviert.

Viele Grüße,
André



Reply to: