2012-01-11 16 views
8

मैं अपनी फ़ाइल को दोबारा सुधारना चाहता हूं ताकि अधिकतम लाइन चौड़ाई 79 हो। मैंने :set tw=79 और gggqG किया और परिणाम मुझे अपेक्षित नहीं थे। जब एक पंक्ति 7 9 से कम है, तो नीचे की रेखा से वर्ण ऊपर बढ़ते हैं और 79 से अधिक कॉल वाली रेखाएं दो लाइनों में नहीं टूटती हैं।विम टेक्स्ट चौड़ाई सुधार

संपादित करें: ठीक है, मैं अर्ध-गलत था कि यह तारों के साथ लाइन में छोड़कर 79 से अधिक तोड़ देता है।

--CONVENTIONS************************************************************************************** 

इसके अलावा यह अभी भी वर्ण ले जाता है जब लाइन अलग पैराग्राफ के बीच < 79.

+0

यह आपके निर्देशों के बाद मेरे लिए काम करता है, लेकिन जांचें कि लाइनें तोड़ने योग्य हैं। उदाहरण के लिए, यूआरएल उस चौड़ाई के बाद अपना मूल प्रारूप रखेगा। – Birei

उत्तर

7

एक संभावित समाधान, हालांकि सबसे अच्छा नहीं है।

formatexpr को परिभाषित करें और अपने पाठ को 79 वर्ण चौड़ाई में प्रारूपित करने के लिए बाह्य fold प्रोग्राम दें।

:set formatexpr= 
:set formatprg=fold\ -w\ 79 

और अब:

gg    # Go to beginning of file. 
gq    # Format until... 
G    # End of file. 

और आखिरी उन कैरिएज रिटर्न (^ एम) को हटा दें:

:%s/\r//g 

अपने परीक्षण में यह कुछ उच्चारण वर्ण बदल गया है और कुछ अन्य लाइनों घायल थे, लेकिन इसे अपने आप आज़माएं। अन्यथा आप अपना खुद का प्रारूप फ़ंक्शन लिख सकते हैं और formatexpr विकल्प के साथ इसका उपयोग कर सकते हैं।

+0

यह काम करता है हालांकि सही नहीं है। शब्द आधा में कट गया लेकिन यह एक बड़ा सौदा नहीं है। – deadghost

1

रखो खाली पंक्ति है। फिर सुधार करें।

+0

जब मैं लाइनों की प्रत्येक जोड़ी के बीच खाली रेखा जोड़ता हूं तो यह अक्षरों को एक रेखा नहीं भेजता है, हालांकि यह वास्तव में मेरी लंबी लाइनों को 79 कॉल लाइनों में विभाजित नहीं करता है। – deadghost