आप स्वचालित रूप से फ़ंक्शन कैसे मोड़ते हैं?


12

वहाँ एक समारोह घोषणा के वाक्यविन्यास के आधार पर विम गुना कार्य करने का एक तरीका है?

उदाहरण के लिए विम इस तरह से एक समारोह की बारी:

def foobar(foo,bar):
  if foo > bar:
    print "foo"
  elif foo < bar:
    print "bar"
  elif foo == bar:
    print "foobar"

इस मामले में:

+----- 7 lines: def foobar(foo,bar): -------------------------------------------------------------

वहाँ आदेशों के कुछ सेट या एक समारोह मैं इसे पूरा करने के लिए अपने .vimrc फ़ाइल का उपयोग कर सकते हैं?

जवाबों:


12

यह देखते हुए कि आपका उदाहरण पायथन में है, जो कोड ब्लॉकों के सही इंडेंटेशन पर निर्भर करता है, यह उस पर आधार तह करने के लिए पर्याप्त है:

:set foldmethod=indent

उपलब्ध तह की किस्मों के बारे में अधिक जानकारी के लिए देखें : foldmethod की मदद करें


7

ज़रूर:

set foldmethod=syntax

फिर आप zcएक फोल्ड को बंद zoकरने के लिए, एक को खोलने के लिए, या zaटॉगल करने के लिए उपयोग कर सकते हैं।

दुर्भाग्य से, विम में डिफ़ॉल्ट रूप से पायथन के लिए तह जानकारी शामिल नहीं है, जिसे आप उपयोग करते हुए दिखाई देते हैं। आप कई बाहरी संसाधनों में से एक का उपयोग कर सकते हैं ।


3
इसके लिए सिंटैक्स फ़ाइल को काम करने के लिए आप का उपयोग करना चाहिए syn-fold। vim74 की मेरी स्थापना में, लगभग 10% सिंटैक्स फ़ाइलें इसका उपयोग करती हैं।
जलानब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.