在Python代码中使用Vim折叠的推荐方式是什么?

130 投票
8 回答
61808 浏览
提问于 2025-04-11 20:55

我想在Vim中为Python代码启用代码折叠功能。我发现有好几种方法可以做到这一点。

有没有人有自己喜欢的在Vim中进行Python代码折叠的方法呢?也就是说,

  • 你有没有特别喜欢的Vim插件?
  • 你是手动折叠代码,还是在注释中放置标记?
  • 还有其他推荐的在Vim中为Python代码折叠的方法吗?

8 个回答

12

这是一个用于折叠Python代码的插件。功能比较简单,可以处理文档字符串。你可以在GitHub上找到它:

SimpylFold

希望你喜欢!

25

我使用这个语法文件来写Python代码。它把代码的折叠方式设置为根据语法来折叠,这样所有的类和函数都会被折叠起来,但其他的内容就不会被折叠了。

149

我个人觉得在代码里加上那些标记有点多余。我已经习惯并且很高效地使用缩进折叠功能。再加上我把空格键设置成打开/关闭折叠的快捷键(见下文),以及使用zR和zM命令,我在这方面得心应手。对于Python来说,这简直完美!

set foldmethod=indent
nnoremap <space> za
vnoremap <space> zf

这段代码把空格键设置成在正常模式下打开/关闭当前缩进的折叠。在可视模式下,空格键也可以用来手动创建一个折叠。不过,如果折叠方式设置为缩进的话,这个功能就不管用了,所以它的用途就有点神秘了。

撰写回答