有没有一种方法可以根据函数声明的语法来制作Vim折叠函数?

例如具有vim的功能如下:

>
是否可以在.vimrc文件中放入一些命令或函数来实现此目的?

#1 楼

鉴于您的示例是使用Python编写的,它依赖于正确的代码块缩进,因此可以基于以下内容进行折叠:

:set foldmethod=indent


有关折叠种类的更多信息可用参见:help foldmethod

#2 楼

确定:

set foldmethod=syntax


然后您可以使用zc关闭折痕,zo打开折痕或za进行切换。

不幸的是,Vim默认情况下不包含您似乎正在使用的Python折叠信息。但是,您可以使用许多外部资源之一。

评论


为了使其正常工作,您正在使用的语法文件应使用syn-fold。在我安装的vim74中,只有大约10%的语法文件使用它。

–贾兰布
2015年2月6日,0:15