2010-03-02 9 views
31

में फोल्ड फ़ंक्शन क्या दृश्य स्टूडियो या एक्लिप्स जैसे विम में फ़ंक्शन फ़ंक्शन करने के लिए कोई तरीका या उपकरण है?विम

शुभकामनाओं सहित,

+0

यदि आपका मतलब है "कक्षाओं को स्वचालित रूप से फोल्ड करना और कार्य करना" तो आपको इसे अपने प्रश्न में स्पष्ट रूप से स्पष्ट करना चाहिए। –

+2

स्वचालित रूप से नहीं, उपयोगकर्ता चुन सकते हैं कि वह कौन सा हिस्सा गुना चाहता है –

+0

विम में बहुत अच्छा प्रलेखन है। आज़माएं: –

उत्तर

84
Vim folding commands 
--------------------------------- 
zf#j creates a fold from the cursor down # lines. 
zf/ string creates a fold from the cursor to string . 
zj moves the cursor to the next fold. 
zk moves the cursor to the previous fold. 
za toggle a fold at the cursor. 
zo opens a fold at the cursor. 
zO opens all folds at the cursor. 
zc closes a fold under cursor. 
zm increases the foldlevel by one. 
zM closes all open folds. 
zr decreases the foldlevel by one. 
zR decreases the foldlevel to zero -- all folds will be open. 
zd deletes the fold at the cursor. 
zE deletes all folds. 
[z move to start of open fold. 
]z move to end of open fold. 

स्रोत: vim दस्तावेज़।

+2

जेसी कर्सर के नीचे गुना बंद करने में मदद करें। (चेतावनी: प्रयोग करके इसे लगाया गया) – Srikanth

+4

ज़ा एक गुना टॉगल करेगा (वर्तमान में बंद होने पर खुला, और इसके विपरीत)। मुझे लगता है कि बहुत आसान है; लगभग ज़ेड या ज़ो का उपयोग न करें। http://vim.wikia.com/wiki/Folding#Opening_and_closing_folds – Aman

+1

'zfgg' शीर्ष से कर्सर तक सभी लाइनों को फोल्ड करता है। 'zfG' कर्सर से नीचे की सभी पंक्तियों को फोल्ड करता है। –

2

हाँ, यह 'z' कुंजी के लिए बाध्य है, उदाहरण के लिए जेओओ सभी गुना खोलता है। अधिक जानकारी के लिए vim में "मदद करें" देखें। आप इंडेंटेशन, या कोड सिंटैक्स के अनुसार बहुत सरल नियमों के अनुसार तह कर सकते हैं।

10
:set foldmethod=syntax 

यदि आपके पास अपनी भाषा के लिए वाक्यविन्यास फ़ाइल है, तो सभी कार्यों और अन्य ब्लॉक को स्वचालित रूप से फोल्ड करना चाहिए।

3

विम उत्कृष्ट फोल्डिंग समर्थन है। विम हेल्प सिस्टम में अच्छा प्रलेखन है। बस खुला vim और कर

: usr_28.txt

मदद पढ़ने कि आप भी

पढ़ सकते हैं के बाद:

कुछ और जानकारी के लिए

तह मदद करते हैं।

27

हां। वीआईएम में असाधारण फोल्डिंग क्षमताएं हैं। मैं भी कई नियंत्रण सीखने पसंद नहीं है, मैं, स्वचालन पसंद करते हैं तो यहाँ क्या मैं व्यक्तिगत रूप से उपयोग करते हैं:

मेरी .vimrc में:

set foldmethod=indent 
set foldlevel=1 
set foldclose=all 

यह स्वचालित रूप से आपके द्वारा खोले फ़ाइलें, मांगपत्र के आधार पर परतों, सब कुछ 1 से अधिक स्तर के लिए इंडेंट के लिए। फोल्डक्लोज विकल्प फोल्ड से नेविगेट करने के बाद स्वचालित रूप से फिर से बंद हो जाता है।

में फ़ाइल नियंत्रण:

zo - opens folds 
zc - closes fold 
zm - increases auto fold depth 
zr - reduces auto fold depth 

और अगर आप कभी परतों के साथ परेशान हो जाते,

: set foldmethod=syntax 

या प्रेस का उपयोग करें:

zR 

उन सब को दूर जाना बनाने के लिए ।

+1

यह सबसे व्यावहारिक उत्तर है, thks @bhekman –

+2

मुझे उपयोगी लगता है: 'सेट nofoldenable' ' सेट foldlevel = 99' भी।यह फ़ाइल खोलने पर ऑटो फोल्डिंग को अक्षम करता है और केवल बाहरी कार्यों को फोल्ड करता है (चरणबद्ध नहीं होता है और "फोर्स" और "आईएफएस" और फोल्डिंग नहीं करता है) धन्यवाद, हालांकि, मेरे उत्तर के आधार पर मेरी कॉन्फ़िगरेशन तैयार की गई है। – merinoff