Die Funktionalität, auf die Sie sich beziehen, wird "Falten" genannt (siehe :help usr_28
). Der zf Befehl wird zum manuellen Erstellen einer Faltung verwendet und wird nur verwendet, wenn die Option foldmethod
auf "marker" oder "manual" gesetzt ist. In den Beispielen, die Sie angegeben haben, erstellen Sie Falten für die Bereiche, die durch die Textobjekte a}
und a)
angegeben werden (siehe :help usr_4.8
).
Für C können Sie setlocal foldmethod=syntax
und die faltenden Regionen werden automatisch durch die Syntaxregeln bestimmt. Dies sollte nur für C-Dateien gemacht werden, indem Sie entweder die Einstellung ~/.vim/ftplugin/c.vim
setzen oder den folgenden autocmd in Ihre ~/.vimrc
setzen.
autocmd FileType c setlocal foldmethod=syntax
N.B. Bei beiden muss die Dateityperkennung aktiviert sein (filetype on
). Für die ftplugin-Lösung müssen Dateityp-Plugins aktiviert sein (filetype plugin on
). Letzteres ist eine Obermenge der ersten, so dass Sie beide Befehle in Ihrem ~/.vimrc
nicht benötigen.
Wie zum Öffnen/alle Falten in dem aktuellen Puffer schließt, sind derjenigediejenigedasjenige, die z R und zjeweils Befehle M.
Brauchen Sie noch eine Sache. Syntax funktioniert gut, lässt mich aber nicht zfa) definieren, so dass ich Argumentlisten ausblenden kann. Ich habe einige wirklich lange Listen, die ich nicht sehen muss, was in ihnen ist, und es wäre wirklich praktisch, automatisch zu kollabieren, aber es lässt mich das im Syntax-Modus nicht tun und ich habe zu viele Funktionen, um define Modus zu verwenden . –
Leider können Sie nicht mehrere Faltungsmethoden gleichzeitig verwenden und die manuelle Falzanlage funktioniert nur für Marker/manuelle Methoden. Sie könnten Syntax/c.vim aus dem systemweiten Verzeichnis in ~/.vim/syntax/c.vim kopieren und das Schlüsselwort "fold" am Ende der cParen-Syntaxdefinitionen hinzufügen. Der Nachteil ist, dass Sie dies immer dann tun müssen, wenn neue wichtige Vim-Releases erstellt werden, damit Sie keine Änderungen verlieren, die upstream gemacht werden. Es erfordert auch, dass Sie die Öffnung "{" auf eine separate Zeile setzen, andernfalls wird die Falzliste durch die Falte außer Kraft gesetzt. – jamessan