And*_*ier 8 vim vimrc code-folding
在vim中,我通常设置foldmethod
于indent
大多数类型的文件。一般来说,我喜欢打开所有折叠的文件。但是,立即开始使用zm以开始在文件中全局关闭折叠非常有用,一次一个级别,让我可以查看文件的整体结构,而不会妨碍细节。
我发现的唯一通用解决方案是设置foldlevelstart
一个非常高的数字,例如 99,以确保所有文件(记住不同的文件将具有不同的最大缩进级别)开始完全展开。但是,我必须zm反复使用以减少foldlevel
到文件的最大折叠级别,通常远小于 99,这既麻烦又不切实际。我可以foldlevel
使用 vim 命令行手动设置,但我仍然需要知道文件中的最大缩进。
有没有一种实用的方法来打开一个文件,foldlevel
设置为文件本身的最大当前缩进/折叠级别?
例如,给定以下文件:
a
b
c
d1
d2
e
f1
f2
Run Code Online (Sandbox Code Playgroud)
第一次按键zm将显示:
a
b
c
+-- 2 lines: d1------
e
+-- 2 lines: f1------
Run Code Online (Sandbox Code Playgroud)
(但是请注意,它应该适用于文件的初始最大缩进可以是任何值的一般情况)。
Ing*_*kat 10
这将查找当前文件中的最高折叠级别:
:let &foldlevel = max(map(range(1, line('$')), 'foldlevel(v:val)'))
Run Code Online (Sandbox Code Playgroud)
要自动设置,您可以使用:autocmd
:
:autocmd BufWinEnter * let &foldlevel = max(map(range(1, line('$')), 'foldlevel(v:val)'))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3393 次 |
最近记录: |