我是一个对vim不熟悉的新手,我在互联网上找不到折叠函数的方法。我已经弄清楚了如何使用“zfa}”和“zfa)”折叠C语言中的参数列表,但我无法弄清如何折叠注释部分。请问如何做到这一点?
第二个问题与之相关,是否有一种方法可以同时折叠文件中所有的函数/参数列表/注释?
:help usr_28
)。如果选项foldmethod
设置为“marker”或“manual”,则使用zf命令手动创建折叠。在你提供的示例中,你正在使用a}
和a)
文本对象指定区域进行折叠(请参见:help usr_4.8
)。setlocal foldmethod=syntax
,折叠区域将自动由语法规则确定。只有在为C文件设置此选项时才应这样做,方法之一是将设置放在~/.vim/ftplugin/c.vim
中,或在~/.vimrc
中加入以下autocmd。autocmd FileType c setlocal foldmethod=syntax
注意:这两种方法都需要启用文件类型检测(filetype on
),而ftplugin解决方案需要启用文件类型插件(filetype plugin on
)。后者是前者的超集,因此您不需要在~/.vimrc
中使用这两个命令。
至于打开/关闭当前缓冲区中的所有折叠,可以分别使用zR和zM命令。
"folding settings
set foldmethod=indent "fold based on indent
set foldnestmax=10 "deepest fold is 10 levels
set nofoldenable "dont fold by default
set foldlevel=1 "this is just what i use
然后您可以使用za切换折叠。您可以使用zM折叠所有内容,使用zR展开所有内容。 zm和zr可用于调整这些折叠。如果遇到困难,请始终记住“help:folding”中的万能帮助文件。