Benim için ideal katlama sadece class
ve def
bloklarını katlamaktır, girintili katlama zevkime göre çok fazladır. Sanırım zarif bir çözüm, Tomas'ın bahsettiği buna benzer bir sözdizimi sistemini kullanmak . Bununla birlikte, bunun orijinal sözdizimi dosyasının yerini alması amaçlanmıştır ve orijinalinden daha eski olabilir (yani bu komut dosyası Python 3 sözdiziminden bahsetmez).
Çözümüm, ~/.vim/syntax
klasöre python.vim
yalnızca önemli satırlarla (yukarıdaki komut dosyasından alınmıştır) bir dosya yerleştirmek :
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
Ardından katlamayı ile etkinleştirin :set foldmethod=syntax
.