2012-12-10 43 views
6

मेरे पास कोड की रेखाएं लिखने की एक बुरी आदत है जो बहुत लंबे समय तक हैं, इसलिए मैं अंत में "colorcolumn = 101" और textwidth = 100 को अपने .vimrc में सेट करने के लिए चारों ओर मिल गया।जब मैं gqg का उपयोग करता हूं तो मैं विम को लाइनों में शामिल होने से कैसे रोक सकता हूं?

मैं उन पंक्तियों के लिए इन लाइन चौड़ाई प्रतिबंधों को पूर्ववत रूप से लागू करने में सक्षम होना चाहता हूं, और मैंने पाया है कि फ़ाइल के शीर्ष पर शुरू करना और gqg प्रकार को दबाने से चाल चलती है। यह उन रेखाओं को विभाजित करेगा जो बहुत लंबे समय से ठीक से हैं, लेकिन अगर वे 100 अक्षरों के भीतर फिट होते हैं तो यह लाइनों में भी शामिल हो जाते हैं।

तो अगर पहली बार में मैं था:

import java.io.File; 
import java.io.IOException; 
import java.util.Map; 

यह में बदल जाएगा:

import java.io.File; import java.io.IOException; import java.util.Map; 

मैं नहीं है वास्तव में लाइन व्यवहार में शामिल होने हालांकि चाहते हैं।

उत्तर

2

वैकल्पिक रूप से, आप अपने कोड को प्रारूपित करने के लिए बाहरी प्रोग्राम का उपयोग कर सकते हैं। मैं सुझाव देता हूं कि अस्थिर (http://astyle.sourceforge.net/ और ubuntu repo's में भी), vim प्लगइन vim-autoformat (https://github.com/Chiel92/vim- स्वत: स्वरूप)।

उत्तरार्द्ध पहले को विम में एकीकृत करता है, जैसे कि gqG दबाते समय अस्थिर आपके कोड को स्वरूपित करता है।

+2

उस लड़के से माफी जो मैंने अभी से सबसे अच्छा जवाब हटा दिया है, लेकिन यह मेरे विम के लिए वास्तव में एक महान जोड़ा था। –

5

लंबी लाइनों को तोड़ने के लिए, आप gqq के साथ व्यक्तिगत रूप से प्रत्येक पंक्ति के लिए ऐसा कर सकते हैं। केवल :global साथ की तुलना में 100 (:help /\%v) अब तर्ज पर एक सशर्त निष्पादन के साथ इस गठबंधन, इस तरह:

:%global/\%>100v/normal! gqq 

ध्यान दें कि यह अभी भी वाक्यविन्यास त्रुटियों, उदा उत्पन्न हो जाएं // ... टिप्पणी नेता के बाद लाइनों को तोड़ना।

+0

वही करता है जो मैं खोज रहा था, धन्यवाद! –