我当前的vim配置设置为自动关闭折叠,一旦光标移出它们的区域:
set foldmethod=syntax
set foldclose=all
这真的很好。因此,我经常觉得需要同时关注两个不同的折叠部分 (即:不同位置的两个if
语句)。
不幸的是,考虑到通过将光标移出第一个if
子句将使前一个子句立即关闭的事实,将foldclose
设置为all
时,上述操作变得不可能。
有没有什么方法可以临时标记该折叠,以便在我检查两个子句和一个完成的子句时,它不会受到foldclose=all
的影响,我可以简单地删除该阻塞标记,以便它会恢复正常?
我认为syntax
方法对我来说很有用,因为它通常是我在处理特定于语言的折叠时所寻找的。
2条答案
按热度按时间iibxawm41#
据我所知,这是不可能的。
然而,你可以通过分割窗口(
:split
)来作弊。这允许光标在每个窗口中处于不同的位置,所以你可以在每个窗口中打开不同的折叠。hjzp0vay2#
您只需要将foldclose选项临时设置为nothing,然后再次将其设置为
all
。因此,在文档中的任意位置键入:
(
=
之后无内容)然后,您可以打开要处理的折叠,完成后,只需使用以下命令将该选项设置回:
额外费用:
如果您要手动弃牌,我建议您使用以下选项:
,以提供折迭开始和结束位置的视觉辅助,以及文件左边距(靠近行号栏)的折迭深度层级。
Image of my current _vimrc file