我有兴趣在Vim for Python代码中启用代码折叠.我注意到有多种方法可以做到这一点.
有没有人有一个首选的方法在Vim中进行Python代码折叠?也就是说,
你有一个特定的Vim插件吗?
您是否使用手动折叠或在评论中放置标记?
在Vim中为Python做代码折叠的其他任何推荐方法?
Walter.. 111
就个人而言,我无法说服自己用标记来丢弃我的代码.我已经习惯于(和高效)使用缩进折叠.连同我的空格键映射(见下文)打开/关闭折叠以及zR和zM命令,我就在家里.完美的Python!
nnoremap
za
vnoremap
zf
:首先设置foldmethod = indent.我正在谷歌搜索这个并偶然发现你的答案,非常好!:) (75认同)
我的朋友也喜欢`set foldnestmax = 2`,这样就可以折叠类的方法,但内部语句不是. (42认同)
我不确定为什么第二个映射在这个zf的答案中.如果使用缩进折叠,则不使用它.但是,如果您正在进行手动折叠,则映射非常有意义.然而,za似乎是快速打开/关闭折叠的最佳方式.我还建议使用折叠导航(zk,zj). (8认同)
小智.. 24
我将此语法文件用于Python.它将折叠方法设置为语法并折叠所有类和函数,但没有别的.
就个人而言,我无法说服自己用标记来丢弃我的代码.我已经习惯于(和高效)使用缩进折叠.连同我的空格键映射(见下文)打开/关闭折叠以及zR和zM命令,我就在家里.完美的Python!
nnoremap
za
vnoremap
zf
我将此语法文件用于Python.它将折叠方法设置为语法并折叠所有类和函数,但没有别的.
另一个用于折叠Python代码的插件。更简单,在GitHub上处理文档字符串:
SimpylFold
请享用!
Python非常适合折叠缩进,用于编写我自己的代码.我使用标记,因为它们可以按照您希望的方式处理文档,并可以作为一种目录.我在我的vimrc中有这个在我查看别人的代码时在两者之间翻转.
#Toggle fold methods \fo let g:FoldMethod = 0 mapfo :call ToggleFold() fun! ToggleFold() if g:FoldMethod == 0 exe 'set foldmethod=indent' let g:FoldMethod = 1 else exe 'set foldmethod=marker' let g:FoldMethod = 0 endif endfun #Add markers (trigger on class Foo line) nnoremap ,f2 ^wywO# 0 {{{2 nnoremap ,f3 ^wywO# 0 {{{3 nnoremap ,f4 ^wywO# 0 {{{4 nnoremap ,f1 ^wywO# 0 {{{1
我真的很喜欢这个python_ifold
插件.
我认为缩进折叠适用于python.我正在为vim-config python/django IDE创建一个多分支的git repo.叉开!
http://github.com/skyl/vim-config-python-ide