Đối với tôi, cách gấp lý tưởng là chỉ gấp khối class
và def
, gấp thụt vào là quá nhiều so với sở thích của tôi. Tôi nghĩ rằng một giải pháp thanh lịch là sử dụng hệ thống cú pháp như thế này một đề cập bởi Tomas. Tuy nhiên, tệp này nhằm thay thế tệp cú pháp gốc và nó có thể kết thúc cũ hơn tệp gốc (tức là tập lệnh đó không đề cập đến cú pháp Python 3).
Giải pháp của tôi là đặt vào ~/.vim/syntax
thư mục một tệp có tên python.vim
chỉ với các dòng quan trọng (lấy từ tập lệnh trên):
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
Sau đó, chỉ cần kích hoạt gấp với :set foldmethod=syntax
.