2012-01-24 15 views
9

मैं इंडेंट के लिए vim's foldmethod सेट करता हूं जो कि जब मैं एक टिप्पणी रेखा को छोड़कर पाइथन लिखता हूं तो बहुत अच्छी तरह से काम करता है। उदाहरण के लिए, अगर मैं कोड के इस बिट है:पायथन टिप्पणी लाइनों को ठीक से इंडेंट फ़ोल्ड करने के लिए मैं विम कैसे ठीक करूं?

def myFunction(): 
    # here is my comment 
    myString = "hello" 
    myInt = 2 

अगर मैं टिप्पणी लाइन पर मेरी कर्सर है और टाइप "ZA" मैं कह रहा कोई त्रुटि मिलती मिल "E490:। कोई गुना मिला"

def myFunction(): 
    # here is my comment 
+--- 2 lines: myString = "hello" ------------------------- 

दोनों ही मामलों में मैं इस गुना प्राप्त करना चाहते हैं:

def myFunction(): 
+--- 3 lines: # here is my comment ------------------------- 

मूल रूप से टिप्पणी लाइन अगर मैं लाइन के साथ शुरुआत पर कर्सर है "myString =" मैं इस तरह गुना Geta होगा किसी और चीज की तरह व्यवहार किया जाना चाहिए। मैं वेब खोजने से एक जवाब के साथ नहीं आया है। कोई विचार? धन्यवाद!

उत्तर

14

आपको कुछ भी नहीं करने के लिए foldignore सेट करना होगा।

:set foldignore= 

:help foldignore से:

'foldignore' 'fdi' string (default: "#") 

    Used only when 'foldmethod' is "indent". Lines starting with 
    characters in 'foldignore' will get their fold level from surrounding 
    lines. White space is skipped before checking for this character. 
    The default "#" works well for C programs. See |fold-indent|. 
3

:help fold-indent से:

कुछ लाइनों पर ध्यान नहीं दिया और इसके बाद के संस्करण या यह नीचे की पंक्ति में जो कुछ भी सबसे कम है की तह स्तर प्राप्त कर रहे हैं। ये 'फ़ोल्डिग्नोर' में एक चरित्र के साथ से शुरू होने वाली खाली या सफेद रेखाएं और रेखाएं हैं। 'फ़ोल्डिग्नोर' में वर्णों की जांच करने से पहले व्हाइट स्पेस छोड़ा गया है। सी के लिए प्रीप्रोसेसर लाइनों को अनदेखा करने के लिए "#" उपयोग करें।

कम से कम मेरे विम में, foldignore चरित्र '#' पर सेट है।

:set foldignore= 

जैसे कमांड के साथ इसे खाली करने के लिए इसे सेट करें।

संबंधित मुद्दे