2008-11-25 12 views
15

मैं टेक्स्ट का एक ब्लॉक इंडेंट करना चाहता हूं।gvim (win32) में चयन कैसे इंडेंट करें?

मैं इसे लिनक्स जीवीएम के निर्माण में करने में सक्षम हूं।

मुझे यह राज्य जीवीआईएम है जहां मैं सम्मिलित या दृश्य मोड में नहीं हूं। नीचे की ओर बाईं ओर खाली रेखा और रेखा संख्या है, दाएं हाथ पर प्रतिशत दिखा रहे हैं।

फिर मैं निम्नलिखित प्रक्रिया निष्पादित करता हूं: मैं क्लिक और ड्रैग के माध्यम से टेक्स्ट का एक ब्लॉक चुनता हूं। फिर मैंने शिफ्ट + मारा। इसके बाद मैंने एएससी मारा और टेक्स्ट का ब्लॉक एक टैब पर चलेगा।

यदि मैं इसे विंडोज में करता हूं, हालांकि यह सिर्फ ब्लॉक को>> से बदल देता है।

मैं सिर्फ स्टॉक जीत आरसी फ़ाइल और जीवीआईएम के संस्करण 7.1 चला रहा हूं।

+0

http://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi –

+0

(उम्मीद है कि समस्या हल हो जाती है, अगर नहीं, तो ऐसा कहें) –

+0

यह नहीं है , मेरा सवाल विशेष रूप से gvim के win32 निर्माण के बारे में है। जिस प्रश्न का आप उल्लेख कर रहे हैं उसका समाधान Win32 के लिए काम नहीं करता है। – Fredrick

उत्तर

18

यदि आप पहली बार SHIFT-V दर्ज करते हैं, और पाठ का चयन करने के लिए Shift + तीर से, यह इंडेंट होगा। आप SHIFT-V का भी उपयोग कर सकते हैं, और ब्लॉक का चयन करने के लिए 'hjkl' का उपयोग कर सकते हैं।

यदि आप टेक्स्ट के ब्लॉक का चयन करने के लिए Shift + तीर या माउस का उपयोग करते हैं, तो यह काम नहीं करता है और चयन को '>' से बदल दिया जाएगा। जब आप selectmode बदलते हैं तो इसे बदला जा सकता है; mswin

सेट selectmode व्यवहार के बाद

सेट selectmode = माउस, कुंजी

  • डिफ़ॉल्ट सेटिंग = कुंजी

      अब
    • आप माउस और करने के लिए प्रेस '>' के साथ चयन कर सकते हैं इंडेंट

    सेट selectmode =

    • अब आप माउस के साथ दोनों का चयन करें और तीर कुंजी और प्रेस '>'

    इंडेंट करने के लिए आप अपने vimrc को यह भी जोड़ते हैं तो स्थानांतरित कर दिया जा सकता है, इसके बाद व्यवहार करते mswin

+0

यदि मैं मोड से बाहर निकलता हूं, तो Shift + v दबाएं, v को छोड़ दें लेकिन शिफ्ट पकड़ना जारी रखें मैं कुछ हद तक चुनने के लिए माउस का उपयोग करने में सक्षम हूं। धन्यवाद! – Fredrick

+0

> यदि आप अपने माउस –

+0

के साथ चुनते हैं तो यह भी काम करता है, मुझे इसे 'सेट कीमोडेल = स्टार्टल, स्टॉपसेल' को भी अपेक्षित रूप से काम करने के लिए जोड़ना पड़ा। – Florian

2

Esc ->शिफ्ट + वी -> लाइन्स का चयन करें ->>>

+0

इसके परिणामस्वरूप चयन को '>' से बदल दिया गया है। – Fredrick

+0

जब मैं ऐसा करता हूं, तो यह ब्लॉक को लगभग 5 रिक्त स्थान इंडेंट करता है लेकिन मैं केवल 1 या 2 रिक्त स्थान इंडेंट करना चाहता हूं। मैं उसे कैसे कर सकता हूँ? (धन्यवाद) –

1

आप अपने vimrc फ़ाइल में behave xterm को behave mswin बदलने की जरूरत है।

+0

मुझे कुछ mswin व्यवहार पसंद है हालांकि। ऐसा लगता है कि मुझे वैकल्पिक शॉर्टकट होना चाहिए या एक ही काम करने के लिए शॉर्टकट को कॉन्फ़िगर करने का एक तरीका होना चाहिए। – Fredrick

+0

ऐसा लगता है कि आप जिस उत्तर को खोज रहे हैं वह विममेल द्वारा चुनिंदा मोड सेटिंग के स्पष्टीकरण में प्रदान किया गया था। –

5

करने के लिए संबंधित यह, मैं विजुअल मोड के लिए एक आसान रीमेप का उपयोग करता हूं जो आपके टेक्स्ट को चुनते समय टेक्स्ट को कई बार इंडेंट करने की अनुमति देता है। विज़ुअल स्टूडियो आपको इंडेंट में टैब (या शिफ्ट-टैब) चुनने और हिट करने की सुविधा देता है।

अपने लिए निम्नलिखित जोड़ें।vimrc

" Pressing <or> will let you indent/unident selected lines 
vnoremap < <gv 
vnoremap > >gv 

इसके अलावा आप == का उपयोग कर प्रयास कर सकते हैं ताकि स्वचालित इंडेंटिंग स्वचालित रूप से हो सके। यह कर्सर को वहां रखकर और == दबाकर किसी भी लाइन पर काम करेगा या आप पूरी फाइल का चयन करने जैसी फैंसी चीजें कर सकते हैं और सभी इंडेंटिंग को ठीक करने के लिए == दबा सकते हैं (wysiwyg संपादकों द्वारा उत्पन्न एचटीएमएल पर काम चमत्कार)।

+0

अच्छा एक, लेकिन मैं बस "।" का उपयोग करता हूं। (डॉट) इंडेंट करने के लिए पहले इंडेंट लाइनें: Vjj>। (जरूरी बिंदुओं को दोहराएं) – Zotov

1

यदि आप दृश्य मोड से पूरी तरह से बचना चाहते हैं तो आप टेक्स्ट ऑब्जेक्ट्स का उपयोग कर सकते हैं। उदाहरण के लिए सामान्य मोड में >ap इंडेंट एक पैराग्राफ इंडेंट करता है, >aB इंडेंट्स एक घुंघराले-ब्रेस ब्लॉक इत्यादि। :h text-objects देखें।