我感兴趣的许可代码折叠在Vim为蟒蛇的代码。我已经注意到多种方式来这样做。

没有人有一种优选办法做到代码折叠在Vim?I.e,

  • 你有一个特别Vim插件的使用和喜欢的?
  • 你用手册》折叠式或做你的位置标记在发表意见?
  • 任何其他建议的方式来做到码折蟒Vim?
有帮助吗?

解决方案

我个人不能说服自己我的垃圾码的标记。我已经成为相当使用(以及高效率的)在使用缩进-折叠。连同我的映射的空间条(见下文)开褶皱和zR和zM命令,我就在家里。完美的蟒蛇!

nnoremap <space> za

vnoremap <space> zf

其他提示

我用 法文件,用于蟒蛇。它设置的折叠的方法和褶皱的所有课程和职能,但没有别的。

又一个插件对折蟒蛇的代码。而不是简单的,处理的文档字符串,并在审查:

SimpylFold

享受!

蟒蛇是非常适合用于折叠在缩进,点对于写作我自己的代码,我使用的标记,因为他们可以紧缩的文件下你想要的方式和可作为一种表格的内容。我有这个在我vimrc翻两者之间当我看别人的代码。

#Toggle fold methods \fo
let g:FoldMethod = 0
map <leader>fo :call ToggleFold()<cr>
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#<c-r>0 {{{2<esc>
nnoremap ,f3 ^wywO#<c-r>0 {{{3<esc> 
nnoremap ,f4 ^wywO#<c-r>0 {{{4<esc>
nnoremap ,f1 ^wywO#<c-r>0 {{{1<esc>

我认为,缩折现对于蟒蛇。我在做一个多支混帐回购协议,对vim-config python/django IDE的想法。叉子了!

http://github.com/skyl/vim-config-python-ide

我真的很喜欢 python_ifold 插件.

蟒蛇源来与一个vim法插着一个自定义vimrc文件。检查 蟒蛇常见问题上的vim

我理想的折叠只是 classdef 块,缩折叠式太多对我的口味。我认为一个优雅的解决方案是以使用的语法系统像这个 一个 提及由托马斯。然而,这个是意味着取代原有的法文件和它最终可能被超过的原始(即这个脚本没有提到蟒蛇3syntax).

我的解决方法是放置在 ~/.vim/syntax 文件夹中的文件名 python.vim 只是重要线(从上述脚本):

syn match   pythonDefStatement  /^\s*\%(def\|class\)/
       \ nextgroup=pythonFunction skipwhite
syn region  pythonFunctionFold  start="^\z(\s*\)\%(def\|class\)\>"
       \ end="\ze\%(\s*\n\)\+\%(\z1\s\)\@!." fold transparent

hi link pythonDefStatement Statement

然后只需要激活与折 :set foldmethod=syntax.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top