สำหรับผมพับเหมาะที่จะพับเพียงclass
และdef
บล็อกพับเยื้องมากเกินไปสำหรับรสชาติของฉัน ฉันคิดว่าทางออกที่ดีอย่างหนึ่งคือการใช้ระบบไวยากรณ์เช่นเดียวกับที่ Tomas กล่าวถึง อย่างไรก็ตามไฟล์นี้มีไว้เพื่อแทนที่ไฟล์ไวยากรณ์ดั้งเดิมและอาจจบลงที่เก่ากว่าต้นฉบับ (กล่าวคือสคริปต์นั้นไม่ได้กล่าวถึงไวยากรณ์ Python 3)
วิธีแก้ปัญหาของฉันคือวาง~/.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
แล้วก็เปิดใช้งานพับ