Re: code folding fuer vim
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]
3) Eigenen C/C++Dateitypen in ~/.vim/ftplugin/ erstellen und dort
alle gewünschten Eigenschaften für diesen Typen einstellen. Für den
Anfang kopiere einfach /usr/share/vim/vim70/ftplugin/c.vim bzw.
cpp.vim und füge die gewünschten Eigenschaften dann dort hinzu.
[:h ftplugin]
Um rauszufinden, wo/warum eine bestimmte Eigenschaft gesetzt ist hilft
:verbose, in diesem Fall: :verbose set foldmethod
Grüße,
Christian
--
Leiden ist kein Verdienst; das Lamm, das sich fressen läßt, stärkt
die Ordnung der Wölfe.
-- Stefan Heym
Reply to: