我想在 Vim 中按下一个按钮并折叠所有代码,以便只显示特定(和可变)缩进级别的代码。例如,当我只想查看方法名称而不是缩进的例程时,这非常有用。
“ Vim: Fold top level folds only ”问题有一个缩进级别的解决方案,但每次更改级别时都需要设置环境。
当我的光标处于缩进级别(比如级别 2)时,我希望整个文件在所有方法中都折叠到该缩进级别。
这是否内置于 Vim 的某个地方?有谁知道一个很好的插件可以做到这一点?
配置由缩进定义的折叠:
:setl foldmethod=indent
Run Code Online (Sandbox Code Playgroud)
并尝试以下命令:
:let &l:foldlevel = indent('.') / &shiftwidth
Run Code Online (Sandbox Code Playgroud)
要快速访问此命令,请为其创建映射,如下所示:
:nnoremap <silent> <leader>z :let&l:fdl=indent('.')/&sw<cr>
Run Code Online (Sandbox Code Playgroud)