मैं कैसे सक्षम कर सकते हैं और कर विम में कोड तह?
क्या मुझे कुछ भी बदलना है ~/.vimrc
?
मैं z+ aऔर z+ cऔर z+ टाइप करता हूं oऔर कुछ भी नहीं होता है।
यहां फोल्डिंग के बारे में एक लेख है: विम में कोड फोल्डिंग ।
मैं कैसे सक्षम कर सकते हैं और कर विम में कोड तह?
क्या मुझे कुछ भी बदलना है ~/.vimrc
?
मैं z+ aऔर z+ cऔर z+ टाइप करता हूं oऔर कुछ भी नहीं होता है।
यहां फोल्डिंग के बारे में एक लेख है: विम में कोड फोल्डिंग ।
जवाबों:
नहीं ~/.vimrc
, आपको आपके द्वारा लिंक किए गए पृष्ठ से कमांड नहीं डालना है , आप कमांड प्रॉम्प्ट प्राप्त करने :
के vim
लिए जारी करने के बाद उन्हें टाइप कर सकते हैं ।
हालांकि अगर आप लाइनें डालते हैं:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
जैसा कि आपके द्वारा दिए गए लिंक में इंगित किया गया है ~/.vimrc
, आपके पास, आपको हर बार जब आप किसी फ़ाइल में तह का उपयोग करना चाहते हैं, तो उन्हें टाइप करने की आवश्यकता नहीं है। यह set nofoldenable
सुनिश्चित करता है कि खोलते समय, फाइलें "सामान्य" हों, अर्थात मुड़ी हुई न हों।
:
। टाइप करने के set
बाद मिलने वाले प्रॉम्प्ट के बाद आप कमांड टाइप करते हैं :
। zc
आप प्रकार जब आप स्वतंत्र रूप से कर्सर ले जाने के कर सकते हैं, जैसा कि आप का प्रयोग करेंगे zt
पाठ कर्सर वर्तमान स्क्रीन के शीर्ष करने के लिए पर है पाने के लिए।
विम की डिफ़ॉल्ट तह विधि का manual
अर्थ है कि सिलवटों को मैन्युअल रूप से बनाया गया है; अन्यथा, वहाँ बंद या का उपयोग कर खोले जाने के लिए कोई गुना है za, zoया zcके रूप में आप का वर्णन किया। लेकिन, आप एक से गुना बना सकते हैं zf{motion}
में सामान्य मोड या zfमें दृश्य मोड; उदाहरण के zfjलिए वर्तमान लाइन के लिए एक गुना बनाता है और अगले एक सामान्य मोड में।
indent
@Anthon द्वारा स्वीकृत उत्तर, वर्णन करता है कि तह विधि कैसे सेट की जाए indent
; यानी तह को इंडेंटेशन के स्तर से परिभाषित किया जाता है।
syntax
अधिक सुविधाजनक तरीके से, वर्तमान बफर की भाषा सिंटैक्स के आधार पर स्वचालित रूप से सिलवटों का निर्माण किया जा सकता है। यदि आप एक प्रोग्रामिंग लैंग्वेज का उपयोग कर रहे हैं, तो इसे L कहें , और आपके पास L की फोल्डिंग परिभाषा है (जैसे आपने एक Vim प्लगइन स्थापित किया है, जिसमें L की फोल्डिंग जानकारी परिभाषित है; जैसे C. Cim के लिए c.vim , या python; -Mode अजगर के लिए), तुम बस करने के लिए विधि तह निर्धारित करने की आवश्यकता syntax
:
set foldmethod=syntax
बस। सिलवटों के साथ काम करने के लिए सबसे उपयोगी आदेश हैं:
foldlevel
जाता है।foldlevel
एक-एक करके घटता है ।foldlevel
शून्य हो जाता है - सभी तह खुले रहेंगे।आपको इसे व्यवस्थित रूप से उपयोग करने की आवश्यकता नहीं है: मैं आमतौर पर गति या अनुभाग द्वारा मैन्युअल रूप से सिलवटों का चयन करता हूं। उदाहरण के लिए, एक पैराग्राफ को zfip
मोड़ना और अगले 20 पंक्तियों को मोड़ना है zf20j
। za
टॉगल और zd
हटाने के लिए उपयोग करें ।
इसके लिए थोड़ा और काम करने की आवश्यकता है लेकिन यह आपके तह को कार्य को हाथ में लेने की अनुमति देता है।
आप folding
वर्तमान सत्र में @ एंथन के उत्तर की तरह सक्षम कर सकते हैं । लेकिन अगर आप इसे स्थायी बनाना चाहते हैं, तो आपको कम से कम इस लाइन .vimrc
को फोल्डिंग वर्क में सेट करना होगा :
set foldmethod=indent
indent
तह की तरह है, आप अधिक से देख सकते हैं :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
अब, हर बार जब आप किसी फ़ाइल को खोलते हैं vim
, तो आप देख सकते हैं कि कोड आपके द्वारा सेट की गई विधि द्वारा मोड़ा हुआ है। तो फिर तुम उपयोग कर सकते हैं za
, zc
, zo
।