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

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: