2008-10-31 14 views
13

vi में कोड के बड़े ब्लॉक के लिए इंडेंटेशन बढ़ाने या घटाने का सबसे आसान तरीका क्या है?vi इंडेंटेशन

उत्तर

14

विम में (सुनिश्चित नहीं है कि यह आपके लिए भी लागू होता है), आप >> का उपयोग एक पंक्ति में इंडेंट करने के लिए करते हैं। विम में लगभग हर कमांड के साथ, कमांड करने से पहले एक संख्या में टाइप करें कई बार होता है। तो अगली 50 लाइनों को इंडेंट करने के लिए, 50>> टाइप करें।

3

इसे चिह्नित करें, फिर> और < का उपयोग करें।

3

यदि आपका कोड घुंघराले ब्रेसिज़ के बीच है, तो अपने कर्सर को घुंघराले ब्रेसिज़ में से एक पर रखें और >% या <% का उपयोग करें।

0

दो कोण-ब्रैकेट ("< <" या ">>") का उपयोग करें, एक पंक्ति के लिए Shiftwidth वर्णों द्वारा बाएं या दाएं। आप इसे आम लाइन-रेंज संकेतकों के साथ कर सकते हैं - ": एम, एन", ब्रेस/ब्रैकेट/पेरेंट मिलान, आदि

या "<", फिर एक गति संकेतक, फिर दूसरा "<"।

या "" अगले 12 लाइनों को छोड़ दिया गया।

9

Autoidenting: = आईबी (ब्लॉक के अंदर कर्सर के साथ अध्यक्ष के लिए)

फिर से IDENTING एक पूरी फाइल, मैं का उपयोग करें gg:

एक {} ब्लॉक के लिए मैं आदेश का उपयोग करें = जी

वृद्धि के लिए अब

या एक खंड पर identation कमी आप यह चयन करने के लिए है (मैं का उपयोग vib आदेश) और फिर आप >करना या < < और यदि आप पहचान दोहराना चाहते हैं तो बस का उपयोग करें।

इसके अलावा

के साथ अपने identation सेटिंग्स निर्धारित करने की याद: shiftwidth = NUMOFSPACES

और

सेट करें: सेट softtabstop = NUMOFSPACES

+0

>} बहुत उपयोगी है। – jop

2

डालने मोड में डिफ़ॉल्ट रूप से, आप मौजूदा लाइन को डी// इरादे के लिए Ctrl-T और Ctrl-D का उपयोग कर सकते हैं।

1

हिट वी दृश्य मोड में जाने और नीचे तीर तो पूरे ब्लॉक तो 12 >>

2

एक अन्य उपयोगी आदेश है, एक बार आप < 'या'> ', उपयोग का उपयोग कर इंडेंट चयन किया जाता है करने के लिए'। ' कमांड को तब तक दोहराने के लिए जब तक यह रेखांकित न हो जाए कि आप इसे कैसे चाहते हैं।

2

इसके अलावा, आप इस तरह की चीजों के सुझावों के लिए http://vim.wikia.com/ देख सकते हैं।

0

: 50,100>

विल मांगपत्र लाइनों 50 के माध्यम से 100 एक बार

: 50,100 >>

विल मांगपत्र लाइनों 50 के माध्यम से 100 दो बार

भी < और < < आदि के साथ काम करता

0

पहले नियंत्रण-जी का उपयोग कर प्रारंभ और अंत रेखाओं की रेखा संख्याएं पाएं आदेश। इन्हें मीटर और n होने दें। मान लीजिए कि हम लाइन नंबर एमएन 5 रिक्त स्थान से इंडेंट करना चाहते हैं। फिर, निम्न आदेश का काम करता है,

:m,ns/^/  /g 

खरोज कमी, पहले (जैसे कि 4) रिक्त स्थान के लिए सभी टैब बदलने के लिए।

:m,ns/\t/ /g 

तो मान लीजिए कि हम लाइनों से 3 रिक्त स्थान को निकालना चाहते हैं जाने के माध्यम से nमीटर गिने।

:m,ns/^ //g