2009-02-11 12 views
13

इसने मुझे लंबे समय तक खराब कर दिया है, और कोशिश करें क्योंकि मुझे इसके चारों ओर एक रास्ता नहीं मिल रहा है।कोष्ठक में विम इंडेंटिंग लिपटे पाठ को कैसे रोकें

जब मैं टेक्स्ट संपादित कर रहा हूं (विशेष रूप से लेटेक्स, लेकिन इससे कोई फर्क नहीं पड़ता) फाइलें, मैं इसे 80 कॉलम पर स्वतः लपेटना चाहता हूं। यह ऐसा करता है, सिवाय इसके कि अगर मैं एक मूलभूत खंड के बीच में होता हूं, तो यह पाठ को बहुत परेशान करता है। उदाहरण के लिए, इस काम करता है ठीक

Here is some text... over 
two lines. 

लेकिन यह किसी को भी मुझे बताओ कि यह बंद करने के लिए (केवल पाठ/लेटेक्स फ़ाइलों के लिए) मैं वास्तव में आभारी होगी कर सकते हैं नहीं

Here is some text... (over 
         two 
         lines 

करता है। संभवतः इस तथ्य के साथ कुछ करना है कि यह सी में वांछित व्यवहार है, लेकिन मैं अभी भी यह नहीं समझ सकता कि क्या गलत है।

उत्तर

12
:set nocindent 

अन्य विकल्प कुछ नहीं करते, और फ़ाइल प्रकार का पता लगाने के लिए यह नहीं बदलता है।

1

: सेट नोई

सेट कोई ऑटो इंडेंट टीटी स्मार्टइंडेंट नहीं हो सकता है। डॉक देखें और आप पा सकते हैं अगर कुछ और

http://www.vim.org/htmldoc/indent.html

+0

नहीं। कोई फर्क नहीं। – Draemon

+0

मजेदार, यह एकमात्र ऐसा था जो मेरे लिए काम करता था, 'सेट नॉकिंडेंट' ने मेरे मामले में कुछ भी नहीं किया। – FvD

3

आप autoindent विकल्प पर एक नज़र हो सकता है देखते हैं:

autoindent - एअर इंडिया

वर्तमान पंक्ति जब से

कॉपी मांगपत्र एक नई लाइन शुरू करना (सम्मिलित मोड में या "ओ" या "ओ" कमांड का उपयोग करते समय टाइप करना)। यदि आप को नई लाइन पर कुछ भी टाइप नहीं करते हैं और फिर टाइप करें या टाइप करें, तो इंडेंट फिर से हटा दिया जाएगा। जब ऑटोइंडेंट चालू होता है, स्वरूपण ("gq" कमांड के साथ या जब आप सम्मिलित मोड में 'टेक्स्टविड्थ' तक पहुंचते हैं तो पहली पंक्ति के इंडेंटेशन का उपयोग करता है। जब 'smartindent' या 'cindent' इंडेंट पर हैमामलों में इंडेंट बदल दिया गया है। 'पेस्ट' विकल्प सेट होने पर 'ऑटोइंडेंट' विकल्प रीसेट हो जाता है। {वीआई से छोटा अंतर: टाइपिंग के दौरान इंडेंट हटा दिए जाने के बाद या हटाए गए इंडेंट के बाद पर कर्सर की स्थिति है; Vi कर्सर को हटाए गए इंडेंट} में कहीं भी रखता है।

+2

आह। सिंडेंट अपराधी प्रतीत होता है। मैंने ऑटोइंडेंट और स्मार्टइंडेंट की कोशिश की लेकिन उन्होंने कोई फर्क नहीं पड़ता। टेक्स्ट/लेटेक्स फ़ाइलों के लिए इसे सेट करने का सबसे अच्छा तरीका क्या है? – Draemon

+1

मेरे दूसरे उत्तर को देखें, मुझे लगता है कि आपके पास फ़ाइल प्रकार इंडेंट के साथ समाधान होगा। – claf

5

तीन विकल्प हैं जिन्हें आपको बंद करने की आवश्यकता हो सकती है: सेट नोई, सेट नोसी, और सेटनोसिन (ऑटोइंडेंट, स्मार्टइंडेंट और सिंडेंट) सेट करें।

2

आधिकारिक Vim documentation

filetype प्लगइन मांगपत्र से

पर यह तीन बहुत चालाक तंत्र पर स्विच:

  1. Filetype का पता लगाने। जब भी आप एक फ़ाइल संपादित करना शुरू करते हैं, तो विम पर आज़माएगा कि यह किस प्रकार की फ़ाइल है। जब आप "main.c" संपादित करते हैं, तो विम ".c" एक्सटेंशन और
    को "सी" फ़ाइल प्रकार के रूप में पहचाना जाएगा। जब आप "# से शुरू होने वाली फ़ाइल संपादित करते हैं!/ Bin/श ", विम के रूप में यह पहचान सकें" श "filetype filetype का पता लगाने वाक्य रचना हाइलाइटिंग के लिए प्रयोग किया जाता है और नीचे अन्य दो
    आइटम देखें |।। फ़ाइल प्रकारों |।

  2. filetype प्लगइन का उपयोग करना फ़ाइलों कई अलग अलग फ़ाइल प्रकारों विभिन्न विकल्पों के साथ संपादित कर रहे हैं। उदाहरण के लिए,
    आप एक "सी" फ़ाइल को संपादित करते हैं, यह करने के लिए 'cindent' विकल्प को सेट करने के लिए बहुत उपयोगी है स्वचालित रूप से लाइनों को इंडेंट। ये सामान्यतः उपयोगी विकल्प सेटिंग नहीं है
    फ़ाइल प्रकार प्लगइन में विम के साथ शामिल है। आप अपना खुद का भी जोड़ सकते हैं,
    देखें- filetype-plugin |

  3. इंडेंट फ़ाइलों का उपयोग करते समय प्रोग्राम संपादित करते समय, लाइन के इंडेंट को स्वचालित रूप से गणना की जा सकती है। विम कई फ़ाइल प्रकारों के लिए इन इंडेंट नियमों के साथ आता है। देखें: फ़ाइल प्रकार-इंडेंट-ऑन | और 'indentexpr'।

+0

मेरे पास ये पहले से ही है। ऐसा लगता है कि सिंडेंट – Draemon

+0

बदलना प्रतीत नहीं होता है, मुझे लगता है कि आपको लेटेक्स फ़ाइलों के लिए एक ही समस्या वाले किसी व्यक्ति द्वारा लिखित फ़ाइल टाइप-प्लगइन को देखने का प्रयास करना चाहिए, या शायद आप एक लिखने का प्रयास कर सकते हैं। – claf

+0

आह, ठीक है। मैं लेटेक्स पर एक नज़र डालेगा और देख सकता हूं कि बूलियन के लिए – Draemon

3

यह संबंधित हो सकता है, जब टर्मिनल विंडो में जीयूआई से चिपका कर, vim पेस्ट मोड भेद नहीं कर सकते, इसलिए घटित में से अजीब बातें रोकने के लिए:

set paste 

तो पेस्ट पाठ

set nopaste 

मैं एक्सएमएल पाठ पेस्ट करने की कोशिश कर रहे समान मुद्दे थे, यह केवल इंडेंटिंग जारी रखेगा। :)

जाँचने, vim के जीयूआई संस्करण, पेस्ट मोड का पता लगा सकते।

+0

को संशोधित करना आसान है या नहीं! टॉगल करने के लिए। इस तरह आप कमांड इतिहास का उपयोग कर सकते हैं: सेट पेस्ट! :

+0

यह समस्या थी जो मैं कर रहा था। धन्यवाद! – HaskellElephant

संबंधित मुद्दे