我是vim的新手用户,我无法在互联网上找到如何折叠函数,我已经弄清楚如何使用zfa}和zfa折叠C中的参数列表。但我无法弄清楚如何折叠评论部分。我该怎么做?
第二个问题但相关,是否有办法同时折叠文件中的所有函数/参数列表/注释?
答案 0 :(得分:21)
您所指的功能称为“折叠”(请参阅:help usr_28
)。 z f 命令用于手动创建折叠,仅在foldmethod
选项设置为“marker”或“manual”时使用。在您提供的示例中,您将在a}
和a)
文本对象指定的区域上创建折叠(请参阅:help usr_4.8
)。
对于C,您可以setlocal foldmethod=syntax
,折叠区域将由语法规则自动确定。只应对{C}文件执行此操作,方法是将设置放在~/.vim/ftplugin/c.vim
中,或将以下autocmd放在~/.vimrc
中。
autocmd FileType c setlocal foldmethod=syntax
N.B。这两者都要求启用文件类型检测(filetype on
),并且ftplugin解决方案要求启用文件类型插件(filetype plugin on
)。后者是前者的超集,因此您~/.vimrc
中不需要这两个命令。
至于打开/关闭当前缓冲区中的所有折叠,那些是 z R 和 z M 命令。
答案 1 :(得分:5)
将以下设置添加到〜/ .gvimrc:
"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可用于使这些折叠恰到好处。如果你遇到困难,请始终记住“帮助:折叠”中的全能帮助文件。
答案 2 :(得分:0)
假设您已根据需要设置折叠区域,请将foldlevel
设置为所需级别。