为什么创建新折叠有时会导致整个文件被折叠?
Why does creating a new fold sometimes cause the entire file to be folded?
有时,当我在 vim 中创建新折叠时,它会折叠整个文件。为什么?
(foldmethod=manual
)
例如,
zi
(所有折叠现已打开)
zi
(所有折叠现已关闭)
- 第 1-309 行折叠关闭,第 617-662 行折叠关闭(文件有 662 行)
- 我的光标在第377行
- 我
zfG
折叠从第 377 行到文件末尾的所有行
预期:第 377 行到文件末尾已关闭,第 310-366 行可见
实际: 文件中的所有行都已关闭
解决方法:
zD
(删除所有折叠)
:1,309fold
(折叠1-309)
:377,$fold
(折叠 377-eof)
我的弃牌*设置:
foldclose=
foldcolumn=0
foldenable
foldexpr=0
foldignore=#
foldlevel=0
foldlevelstart=-1
foldmarker={{{,}}}
foldmethod=manual
foldminlines=1
foldnestmax=20
foldopen=block,hor,mark,percent,quickfix,tag,undo
foldtext=foldtext()
这是因为第 377 行(我在其中创建新折叠)位于现有的 open 折叠中,该折叠从文件的第 1 行开始。所以当我创建新的折叠时,它增加了现有打开的折叠的大小并关闭它,导致整个文件被折叠关闭。
要对此进行调试,:set foldcolumn=12
显示打开的折叠。 zM
关闭所有打开的折叠。
另请注意,我认为 zi
切换 open/closed 所有折叠,但事实并非如此。 zM
关闭所有折叠,zR
打开所有折叠。
那里得到了答案
有时,当我在 vim 中创建新折叠时,它会折叠整个文件。为什么?
(foldmethod=manual
)
例如,
zi
(所有折叠现已打开)zi
(所有折叠现已关闭)- 第 1-309 行折叠关闭,第 617-662 行折叠关闭(文件有 662 行)
- 我的光标在第377行
- 我
zfG
折叠从第 377 行到文件末尾的所有行
预期:第 377 行到文件末尾已关闭,第 310-366 行可见
实际: 文件中的所有行都已关闭
解决方法:
zD
(删除所有折叠):1,309fold
(折叠1-309):377,$fold
(折叠 377-eof)
我的弃牌*设置:
foldclose=
foldcolumn=0
foldenable
foldexpr=0
foldignore=#
foldlevel=0
foldlevelstart=-1
foldmarker={{{,}}}
foldmethod=manual
foldminlines=1
foldnestmax=20
foldopen=block,hor,mark,percent,quickfix,tag,undo
foldtext=foldtext()
这是因为第 377 行(我在其中创建新折叠)位于现有的 open 折叠中,该折叠从文件的第 1 行开始。所以当我创建新的折叠时,它增加了现有打开的折叠的大小并关闭它,导致整个文件被折叠关闭。
要对此进行调试,:set foldcolumn=12
显示打开的折叠。 zM
关闭所有打开的折叠。
另请注意,我认为 zi
切换 open/closed 所有折叠,但事实并非如此。 zM
关闭所有折叠,zR
打开所有折叠。