2013-09-21 3 views
11

यह एक बहुत ही बुनियादी सवाल की तरह लगता है कि शायद एक स्पष्ट समाधान है, दुर्भाग्यवश, मुझे यह नहीं मिला है।स्ट्रिंग अक्षर को तोड़ने से विम कैसे रखें?

मैं एक स्ट्रिंग के बीच में तोड़ने (एक नई लाइन में प्रवेश) से कैसे बना सकता हूं? मैं स्ट्रिंग की एक सूची में टाइप करें, और यह इस तरह दिखता है:

a=['a string', 'b string', 'c 
string'] 

मैं पंक्ति विराम पसंद है, मैं नहीं है vim चाहते हैं तो बस लाइन लपेट और अगले संपादक लाइन पर जारी रखने के लिए। मैं चाहता हूं कि मेरी लाइनें मैन्युअल रूप से न्यूलाइन दर्ज किए बिना 80 अक्षरों तक हों।

क्या मैं चाहता हूँ या तो

  1. है किसी भी स्ट्रिंग को तोड़ने नहीं है, भले ही वह एक खाली स्थान के

  2. निहित स्ट्रिंग संयोजन का उपयोग कर स्ट्रिंग तोड़, यानी स्ट्रिंग को बंद करने और शुरू होता है एक नई लाइन पर नई स्ट्रिंग

  3. बस से पहले तोड़ 'सी स्ट्रिंग'

निकटतम समाधान मैं पाया है बहुत उपयोगी नहीं हैं:

Is there any way to get vim to auto wrap python strings at 79 chars?

how to configure vim to smartly wrap python strings?

Vim: Inter-String Line Breaking

वर्तमान में 'जे' सबसे बड़ी मात्रा में प्रयोग कुंजी टूटे तार को ठीक करने से एक है।

+4

नोट: ': सेट tw = 0' शब्द रैप को पूरी तरह से बंद कर देता है। –

+1

संभावित डुप्लिकेट [ऑटोमॉर्मेट करते समय विम ब्रेक स्ट्रिंग कैसे नहीं करें?] (Http://stackoverflow.com/questions/10615908/how-to-make-vim-not-break-strings-when-autoformating) – glts

+0

धन्यवाद, रोब। इसका मतलब है कि आपको लाइनब्रेक मैन्युअल रूप से जोड़ना है, है ना? तो अगर मेरे पास 70 अक्षरों वाली रेखा है और शुरुआत में कुछ और जोड़ना है, तो मुझे हाथ से 80 वर्णों के निकटतम ब्रेक ढूंढना होगा और फिर एंटर दबाएं। मैं gq का उपयोग नहीं कर सकता, क्योंकि यह एक ही समस्या है। – Dan

उत्तर

0

यहाँ है कि मैं क्या कम लाइनों किसी भी शब्द को तोड़ने के बिना 80 अक्षर बिल्कुल रेखाओं को रैप, और बनाए रखने के लिए करना है:

:set formatoptions+=w 
:set tw=80 
gggqG 

तुम भी वर्तमान पैरा फ़ॉर्मेट करने के लिए निम्नलिखित मैपिंग का उपयोग कर सकते हैं:

:nnoremap Q gqip 

उम्मीद है कि यह मदद करता है।

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