আমার জন্য আদর্শ ভাঁজ হ'ল কেবল class
এবং def
ব্লকগুলি ভাঁজ করা, ইনডেন্ট ভাঁজ আমার স্বাদের জন্য খুব বেশি। আমি মনে করি একটি মার্জিত সমাধান টমাস দ্বারা উল্লিখিত একটি মত সিনট্যাক্স সিস্টেম ব্যবহার করা হয় । তবে এটির অর্থ মূল সিনট্যাক্স ফাইলটি প্রতিস্থাপন করা এবং এটি মূলটির চেয়ে পুরানো হতে পারে (অর্থাত্ স্ক্রিপ্টটি পাইথন 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
।