नई प्रतियां जोड़ते हुए कॉपी पेस्ट करें


3

नकल / चिपकाने के दौरान विम बहुत सारे स्थान और नई कड़ियाँ जोड़ रहा है। यह है जो ऐसा लग रहा है:

http://i.imm.io/vEiu.jpeg

मैं यह कैसे तय करुं?


क्या आपने कोड को किसी अन्य संपादक पर कॉपी और पेस्ट करने की कोशिश की है, और देखें कि क्या नई खाली लाइनें दिखाई देती हैं?
ज़ुलुल

@Zuul नैनो में भी ऐसा ही होता है।
HappyDeveloper

जवाबों:


4

Gedit प्रति इंडेंट में 4 स्पेस का उपयोग कर रहा है, आपका VIM ऐसा दिखता है जैसे यह 8 इंडेंट प्रति इंडेंट का उपयोग कर रहा है।

कुछ भी गलत नहीं है, बस एक साधारण सेटिंग अंतर है।

विकल्प देखें:

  • shiftwidth
  • softtabstop
  • टैब का विश्राम स्थान
  • expandtab

:set sw=4 sts=4 ts=8 et

आपके VIM को आपके Gedit की तरह बना देगा।


मेरा gedit रिक्त स्थान का उपयोग नहीं कर रहा है, केवल टैब है।
HappyDeveloper

1
मैं समझता हूँ कि .... और आपका gedit 4 स्थानों के साथ एक टैब EMULATING है ... जबकि vim डिफ़ॉल्ट 8 के साथ भी ऐसा ही कर रहा है। A टैब एक टैब एक टैब है ... जब तक आप इसे प्रदर्शित नहीं करते हैं और इसे पार्स किया जाता है आउटपुट रूटीन द्वारा। gedit 4 वर्ण चौड़ाई का उपयोग कर रहा है, जबकि vim 8 का उपयोग कर रहा है। मेरे द्वारा दिखाई गई सेटिंग्स इसे ठीक कर देगी।
लोर्निक्स

मैंने इसकी कोशिश की, लेकिन यह टैब को रिक्त स्थान में बदल दिया, जो मुझे नहीं चाहिए। और नएपन अभी भी हैं।
HappyDeveloper

1
ओह, क्षमा करें, कि प्रत्येक के लिए 'एट' बल्कि 'एट' बनाएं। नई सूचियाँ gedit और 'सेट पेस्ट' विकल्प से संभव हैं, और यदि आप इसे किसी वेबसाइट से कॉपी / पेस्ट करते हैं, तो संभवतः इसमें BOTH cr & lf (windows से!) है, जो linux पर दोहरे cr का कारण बनता है। gedit को मूल पेस्ट मिला, इसलिए इसने dos / windows line endings को संभाला। vim को एक गुमनाम पेस्ट मिल रहा है, इसलिए इसे संभालना है जो इसे प्राप्त करता है, कोई सुराग नहीं है।
लोर्निक्स

हां, ऐसा लगता है जैसे फ़ाइल में कुछ पागल अक्षर थे। मैंने इसे फिर से लिखा और अब यह ठीक काम करता है। धन्यवाद!
HappyDeveloper

4

आप शायद विम के ऑटोइंडेंट मोड पर हैं। इसे बंद करने का प्रयास करें:set noautoindent

जैसा कि ऊपर सीआर द्वारा उल्लेख किया गया है, :set pasteइसमें पाठ को चिपकाते समय विम के व्यवहार में बहुत सुधार होता है ... पेस्ट मोड सेट के साथ आपको पाठ की चौड़ाई, रैप-मार्जिन या कुछ और सेट करने की आवश्यकता नहीं है, लंबी लाइनों को गड़बड़ाने की संभावना है। या पाठ रिक्ति। :set nopasteजब आप चिपकाना समाप्त कर लें तो उपयोग करना याद रखें ।


3

मुझे लगता है कि आप क्लिपबोर्ड या कुछ और से चिपका रहे हैं? :set pasteचिपकाने से पहले कोशिश करें ।

किसी भी नई मशीन पर पहली चीज मैं set pasteअपने vimrc में डाल देता हूं। मैं डिफ़ॉल्ट व्यवहार के रूप में पेस्ट मोड को पसंद करता हूं।

संपादित करें: और आप :set nopasteपेस्ट मोड को बंद करने और ऑटो-प्रारूप को वापस चालू करने के लिए उपयोग कर सकते हैं ।


1
यह काम नहीं किया। अब यह कहता है कि 'INSERT (पेस्ट)' लेकिन चिपका हुआ पाठ एक जैसा दिखता है। मैं gedit से टेक्स्ट कॉपी कर रहा हूं, फिर vim में पेस्ट कर रहा हूं।
HappyDeveloper

हम्म, यह अजीब है। केवल समय मैंने देखा है कि इस प्रकार का व्यवहार तब होता है जब पेस्ट मोड में नहीं होता है, यदि एन्कोडिंग "विशेष" (UTF8 / 16, आदि) है, या यदि कोई विम प्लगइन / स्क्रिप्ट समस्या पैदा कर रहा है।
सी.आर.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.