2010-03-02 5 views
31

Gibt es irgendeine Möglichkeit oder Werkzeuge, um die Funktion in vim zu falten, wie Visual Studio oder Eclipse?Falzfunktion in vim

Mit besten Grüßen,

+0

Wenn Sie "Klassen und Funktionen automatisch falten" meinen, sollten Sie dies in Ihrer Frage explizit erläutern. –

+2

nicht automatisch, Benutzer können wählen, welchen Teil er falten möchte –

+0

vim hat ziemlich gute Dokumentation. Versuchen Sie: Hilfe falten –

Antwort

84
Vim folding commands 
--------------------------------- 
zf#j creates a fold from the cursor down # lines. 
zf/ string creates a fold from the cursor to string . 
zj moves the cursor to the next fold. 
zk moves the cursor to the previous fold. 
za toggle a fold at the cursor. 
zo opens a fold at the cursor. 
zO opens all folds at the cursor. 
zc closes a fold under cursor. 
zm increases the foldlevel by one. 
zM closes all open folds. 
zr decreases the foldlevel by one. 
zR decreases the foldlevel to zero -- all folds will be open. 
zd deletes the fold at the cursor. 
zE deletes all folds. 
[z move to start of open fold. 
]z move to end of open fold. 

Quelle: vim docs.

+2

zc schließt unter dem Cursor falten. (Warnung: durch Experimentieren) – Srikanth

+4

za wird eine Falte umschalten (offen, wenn gerade geschlossen, und umgekehrt). Ich finde das ziemlich praktisch; Verwenden Sie fast nie zc oder zo. http://vim.wikia.com/wiki/Folding#Opening_and_closing_folds – Aman

+1

'zfgg' faltet alle Zeilen von oben bis zum Cursor. 'zfG' faltet alle Zeilen vom Cursor nach unten. –

2

ja, es auf die 'z' Schlüssel gebunden ist, z.B. zO öffnet alle Falten. Weitere Informationen finden Sie unter ": help fold" in vim. Sie können nach sehr einfachen Regeln wie Einrückung oder nach der Codesyntax falten.

10

sollte alle Funktionen und andere Blöcke automatisch falten, wenn Sie eine Syntaxdatei für Ihre Sprache haben.

3

Vim hat eine hervorragende Klappunterstützung. Im vim-Hilfesystem gibt es eine gute Dokumentation. Öffnen Sie einfach vim und tun

: Hilfe usr_28.txt

Nach der Lektüre, dass Sie auch

lesen: Hilfe

für einige weitere Informationen zu falten.

27

Ja. VIM verfügt über außergewöhnliche Faltfunktionen. Ich mag es nicht zu viele Kontrollen zu lernen, ich ziehe Automatisierung, also hier ist das, was ich persönlich benutze:

In meinem .vimrc:

set foldmethod=indent 
set foldlevel=1 
set foldclose=all 

Diese automatisch faltet Dateien, die Sie öffnen, basierend auf Gedankenstrich, für alles, für mehr als 1 Ebene eingerückt. Die Option "Foldclose" bewirkt, dass sich die Falte automatisch wieder schließt, nachdem ich aus der Falte navigiert bin.

In-Datei Controls:

zo - opens folds 
zc - closes fold 
zm - increases auto fold depth 
zr - reduces auto fold depth 

Und wenn Sie jemals mit den Falten ärgern,

: set foldmethod=syntax 

oder drücken Sie verwenden:

zR 

, um sie alle weg .

+1

Dies ist die praktischste Antwort, thks @bhekman –

+2

Ich finde nützlich zu haben: 'set nofoldenable' ' set faltlevel = 99' zu.Es deaktiviert die automatische Faltung beim Öffnen der Datei und klappt nur die äußeren Funktionen (nicht hinein und faltend "fors" und "ifs" und was nicht) Meine Konfig basiert auf Ihrer Antwort obwohl, danke. – merinoff