2011-01-25 16 views

उत्तर

126

वाक्य रचना के आधार पर सिलवटों अपने .vimrc के लिए निम्न की तरह कुछ जोड़ने की अनुमति देना:

set foldmethod=syntax 
set foldlevelstart=1 

let javaScript_fold=1   " JavaScript 
let perl_fold=1    " Perl 
let php_folding=1    " PHP 
let r_syntax_folding=1  " R 
let ruby_fold=1    " Ruby 
let sh_fold_enabled=1   " sh 
let vimsyn_folding='af'  " Vim script 
let xml_syntax_folding=1  " XML 

सिंटेक्स आधारित तह भाषा के वाक्य रचना फ़ाइलें जो $ विम/वाक्य रचना में स्थित हैं में परिभाषित किया गया है। लेकिन कुछ भाषाओं में उनके वाक्यविन्यास फ़ाइलों में निर्मित तह नियम नहीं होते हैं। उदाहरण के लिए पायथन। उन भाषाओं के लिए आपको http://vim.sf.net से कुछ डाउनलोड करने की आवश्यकता है जो फ़ोल्डर्स करता है। अन्यथा आपको इंडेंट्स के आधार पर फ़ोल्डरों का उपयोग करने की आवश्यकता होगी। ऐसा करने के लिए प्रभावी रूप से आप की संभावना अपने .vimrc फ़ाइल में निम्नलिखित जोड़ना चाहते हैं जाएगा:

set foldmethod=indent 
set foldnestmax=2 

तह अन्य प्रकार के

परतों के 6 प्रकार के होते हैं:

manual   manually define folds 
indent   more indent means a higher fold level 
expr   specify an expression to define folds 
syntax   folds defined by syntax highlighting 
diff   folds for unchanged text 
marker   folds defined by markers in the text 

निजी तौर पर केवल मैं वाक्यविन्यास folds का प्रयोग करें। आम तौर पर मैं सिर्फ विधि को फोल्ड करना चाहता हूं और प्रत्येक इंडेंट स्तर को फोल्ड नहीं करना चाहता हूं। काम पर असंगत इंडेंटिंग और अजीब रूप से स्वरूपित विरासत कोड अक्सर इंडेंट फोल्डिंग को मुश्किल या असंभव बनाता है। दस्तावेज़ में अंक जोड़ना कठिन है और जो लोग विम का उपयोग नहीं करते हैं वे दस्तावेज़ को संपादित करते समय उन्हें बनाए रखेंगे। मैन्युअल फोल्ड तब तक बढ़िया काम करते हैं जब तक कोई आपके कोड को स्रोत नियंत्रण में संपादित नहीं करता है और आपके सभी फ़ोल्डर्स अब गलत जगह पर हैं।

अधिक पढ़ने

  1. अलग गुना तरीकों का ब्यौरा जानने के लिए :help fold-methods देखें।
  2. फ़ोल्डरों में हेरफेर करने के लिए कीबोर्ड कमांड सीखने के लिए :help folding देखें।
  3. फोल्डिंग के पूरे विषय पर सहायता के लिए :help folds देखें।
+8

ठीक है ... यह तेज़ था। –

+8

क्या आपने वास्तव में पोस्ट किए गए प्रश्न के एक मिनट के भीतर यह सब टाइप किया था? स्पष्टता, विस्तार, और गति के लिए +1! – Cascabel

+0

आपके अनुभव को साझा करने के लिए धन्यवाद! क्या आप नहीं जानते कि सी ++ फोल्डिंग को कैसे सक्षम किया जाए? –

3

जावास्क्रिप्ट फोल्डिंग मेरे लिए भी काम नहीं करती है। मुझे पता चला कि मैंने सेट सिंटैक्स = जावास्क्रिप्ट (पूंजी एस के साथ), यह अचानक काम किया।

+1

हेहे मैंने ऐसा किया और अचानक अचानक रंग गायब हो गए, अनुमान लगाओ कि यह सभी के लिए नहीं है। :) 'vim संस्करण 8'। – ArchNoob

1

विम के नए संस्करणों में तह करने को सक्षम करने का तरीका बदल गया है (मैं विम 7.4 का उपयोग कर रहा हूं)। अब आपको फ़ाइल ~/.vim/ftplugin/javascript.vim (लिनक्स पर) बनाना चाहिए और एरिक जॉनसन के उत्तर में बताए गए अनुसार अपने कोड फोल्डिंग निर्देश जोड़ें। विशिष्ट फ़ाइल प्रकारों के लिए फ़ाइल प्रकार का पता लगाने और लोडिंग प्लगइन्स को इसे .vimrc:

filetype plugin on 
संबंधित मुद्दे