题
我感兴趣的许可代码折叠在Vim为蟒蛇的代码。我已经注意到多种方式来这样做。
没有人有一种优选办法做到代码折叠在Vim?I.e,
- 你有一个特别Vim插件的使用和喜欢的?
- 你用手册》折叠式或做你的位置标记在发表意见?
- 任何其他建议的方式来做到码折蟒Vim?
解决方案
我个人不能说服自己我的垃圾码的标记。我已经成为相当使用(以及高效率的)在使用缩进-折叠。连同我的映射的空间条(见下文)开褶皱和zR和zM命令,我就在家里。完美的蟒蛇!
nnoremap <space> za
vnoremap <space> zf
其他提示
我用 此 法文件,用于蟒蛇。它设置的折叠的方法和褶皱的所有课程和职能,但没有别的。
蟒蛇是非常适合用于折叠在缩进,点对于写作我自己的代码,我使用的标记,因为他们可以紧缩的文件下你想要的方式和可作为一种表格的内容。我有这个在我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的想法。叉子了!
我真的很喜欢 python_ifold
插件.
蟒蛇源来与一个vim法插着一个自定义vimrc文件。检查 蟒蛇常见问题上的vim
我理想的折叠只是 class
和 def
块,缩折叠式太多对我的口味。我认为一个优雅的解决方案是以使用的语法系统像这个 一个 提及由托马斯。然而,这个是意味着取代原有的法文件和它最终可能被超过的原始(即这个脚本没有提到蟒蛇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
.
不隶属于 StackOverflow