पाठ चौड़ाई स्वरूपण पूर्ववत करें


3

मैंने पाठ्यपुस्तक = 80 के साथ एक दस्तावेज लिखा है। अब मैं इस दस्तावेज़ को प्रारूपण के लिए libreoffice में पेस्ट करना चाहूंगा। समस्या लाइन ब्रेक की है। कामेच्छाओं में, 80 वर्णों के बाद विम द्वारा डाली गई नई कहानियों के कारण लाइनें बहुत कम हैं।

मैं दो न्यूलाइन वर्णों का उपयोग करके पैराग्राफ को अलग करता हूं (अर्थात दो बार रिटर्न मारना)। क्या कोई तरीका है जिससे मैं \ n \ n वर्णों को बनाए रखते हुए सभी एकल \ n वर्णों को निकाल सकता हूँ?


बस ध्यान दें कि एक वर्ड प्रोसेसिंग सॉफ्टवेयर के साथ, आप आमतौर पर पैराग्राफ ब्रेक के लिए "प्रेटेंड" करने के लिए दो लाइन ब्रेक होने के बजाय, एक बड़ा रिक्ति होने के लिए पैराग्राफ ब्रेक कर सकते हैं।
एल्विन वोंग

मैं सबसे नज़दीकी :%s/\n\{2,}/\rSomemarkerNotFoundElsewhereInTheText\r/eसभी डबल न्यूलाइन्स को एक मार्कर के साथ बदलने के लिए हूं , इसके बाद :%jसभी लाइन में शामिल होने और %s/SomemarkerNotFoundElsewhereInTheText/^M^M/gमार्कर को बदलने के लिए। बदसूरत नरक के रूप में और मुझे यकीन है कि एक बेहतर तरीका है।
हेन्स

जवाबों:


0

कुछ इस तरह

:%s/\(\S\)\n/\1
:%s/\n/&&

कार्य करना चाहिए। खैर, यह यहाँ करता है।

पहले प्रतिस्थापन एक "गैर-व्हाट्सएप चरित्र" (यह और अधिक विशिष्ट हो सकता है) से मेल खाता है, इसके बाद एक नई लाइन है, जो कि प्रतिस्थापन में उपयोग के लिए उस "गैर-व्हाट्सएप चरित्र" पर कब्जा कर रहा है \1। व्यावहारिक रूप से, यह हर "पैराग्राफ" को एक पंक्ति में बदल देता है।

दूसरा एक हर न्यूलाइन कैरेक्टर को दो न्यूलाइन कैरेक्टर के साथ प्रतिस्थापित करता है। &प्रतिस्थापन में इसका उपयोग "मिलान किए गए पाठ" के लिए किया जाता है, इसलिए &&इसका अर्थ है "दो न्यूलाइन वर्ण"। यह लिखा जा सकता है :%s/\n/\r\rलेकिन &&कम है।


क्या वह \&\&अंतिम पंक्ति में होना चाहिए ?
एलेक्सिस

टाइपो, आई एम सॉरी।
रोमेनियल

मुझे विम की आरईएस पता नहीं है, लेकिन अगर वे पर्ल-स्टाइल हैं, \wतो विराम चिह्न के साथ समाप्त होने वाली रेखाओं से मेल नहीं खाएगा। मुझे लगता है कि आप चाहते हैं \S, जो किसी भी गैर-अंतरिक्ष चरित्र से मेल खाता हो।
एलेक्सिस

अच्छी बात, @alexis
romainl

3

आप VipJप्रत्येक पैराग्राफ पर उपयोग कर सकते हैं :

  • V: चयन शुरू करें।
  • ip: पूरे पैराग्राफ का चयन करें।
  • J: लाइनों को एक साथ जोड़ता है।

क्योंकि आप प्रत्येक पैराग्राफ को एक दोहरी न्यूलाइन के साथ अलग करते हैं, इसलिए हम अपने लिए ऐसा करने के लिए एक मैक्रो रिकॉर्ड कर सकते हैं:

qqVipJ2jq

शामिल होने के लिए एन पैराग्राफ एक साथ, बस का उपयोग एन@q अब।


इसके साथ एकमात्र समस्या यह है कि एक लाइन पैराग्राफ निम्नलिखित पैराग्राफ के साथ जुड़ जाते हैं।
मोयामो

2

विम में ऐसा करने के कई तरीके हैं, लेकिन मुझे लगता है कि यह सबसे सरल है:

:set tw=9999
gggqG

यह कर्सर को बफ़र ( gg) और रिफॉर्मैट्स ( gq) की सभी लाइनों को वहाँ से लास्ट लाइन ( G) तक ले जाता है। देख

:help gq
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.