मैं अपने कोड को लपेटने से विम को क्यों नहीं रोक सकता?


115

मैं अपने पायथन कोड को लपेटने से विम को रोक नहीं सकता। अगर मैं :set nowrapएक विजेता की तरह प्रवेश करता हूं , लेकिन यह अभी भी लपेटता है।

मैं Jकोड की विभाजित लाइनों को एकजुट करने के लिए हिट कर सकता हूं , इसलिए ऐसा लगता है जैसे एक वास्तविक कैरिज रिटर्न डाला जा रहा है। मुझे अभी समझ नहीं आया कि इसे क्यों या कैसे रोकना है।


15
:set nowrapकेवल इसे लाइनों के प्रदर्शन को लपेटने से रोकता है, लाइनब्रेक डालने से नहीं।
रैंपियन

जवाबों:


115
'textwidth' 'tw'        number  (default 0)
                        local to buffer
                        {not in Vi}
        Maximum width of text that is being inserted.  A longer line will be
        broken after white space to get this width.  A zero value disables
        this.  'textwidth' is set to 0 when the 'paste' option is set.  When
        'textwidth' is zero, 'wrapmargin' may be used.  See also
        'formatoptions' and |ins-textwidth|.
        When 'formatexpr' is set it will be used to break the line.
        NOTE: This option is set to 0 when 'compatible' is set.


'wrapmargin' 'wm'       number  (default 0) 
                        local to buffer
        Number of characters from the right window border where wrapping
        starts.  When typing text beyond this limit, an <EOL> will be inserted
        and inserting continues on the next line.
        Options that add a margin, such as 'number' and 'foldcolumn', cause
        the text width to be further reduced.  This is Vi compatible.
        When 'textwidth' is non-zero, this option is not used. 
        See also 'formatoptions' and |ins-textwidth|.  {Vi: works differently
        and less usefully}

यदि आप अगली पंक्तियों को भेजने वाली लंबी लाइनों के ऑटो रैपिंग का संदर्भ लेते हैं, तो प्रयास करें

:set textwidth=0 
:set wrapmargin=0

12
कुछ प्लगइन्स इस सेटिंग को ओवरराइड करने लगते हैं।
यज़मीर रामिरेज़

twऔर wpविकल्प वास्तव में मेरे लिए ऐसा नहीं हो पाया तो मैं के लिए जाना था formatoptions github.com/ain/.vim/blob/...
ऐन Tohvri

2
यदि tw और wp अभी भी समस्या का समाधान नहीं करते हैं तो SU पर इस पोस्ट पर एक नज़र डालें जिससे मुझे अपनी समस्या हल करने में मदद मिली: superuser.com/questions/250112/…
Alien_SM

3
filetype plugin onअपने से निकाल कर मेरे लिए .vimrcकिया।

1
इस उत्तर के साथ, आप gqपैराग्राफ को मैन्युअल रूप से पाठ्यपुस्तक में पुनः संकलित करने के लिए उपयोग नहीं कर सकते । @ Engineero का सही होना चाहिए।
Dylanthepiguy

86

अन्य किसी भी उत्तर ने मेरे लिए काम नहीं किया (आईडीके क्यों)।

:set wrap! क्या मेरे लिए चाल चली गई (विंडोज के लिए जीवीएम का उपयोग करके)।


8
यह एक अलग समस्या हल करती है। wrapलाइन रैपिंग की उपस्थिति प्रदान करता है, लेकिन वास्तव में नई लाइनों पर पाठ को नहीं तोड़ता है। आपने संभावित रूप से wrapसक्षम किया था , इसलिए :set wrap!इसे बंद कर दिया। आप :set wrap?वर्तमान मान (यानी wrapया nowrap) को प्रतिध्वनित कर सकते हैं ।
छायाकार

1
यह समाधान मैक ओएसएक्स पर मेरे लिए काम करता है। विम संस्करण 7.4
Shnkc

यह मेरे लिए काम करता है, मैं बदल गया textwidthऔर wrapmarginपहले लेकिन यह वास्तव में विम को बिना किसी लिपटी लाइनों के अपडेट और रेंडर करने के लिए मजबूर कर दिया।
केर्न्स

डिंग डिन डिंग! नव्यिम में काम करता है
गजा

क्या जादुई क्षण है जब आपको पता चलता है कि जिस कमांड की आपको वास्तव में आवश्यकता है, वह कितना अभिव्यंजक और सरल है। धन्यवाद देवों
Capitan Empanada

57

set formatoptions-=tचाल चलनी चाहिए। set formatoptions+=tऑटो-रैपिंग को वापस चालू करेगा।

आप क्या कर सकते हैं formatoptions, इस बारे में अधिक जानकारी के लिए , डॉक्स देखें ।


2
धन्यवाद! आपका समाधान एकमात्र है जिसने मेरे लिए काम किया। जब मैं इंसर्ट मोड दर्ज करता हूं, तो कभी-कभी नई रूपरेखाओं को सम्मिलित नहीं करता है।
गेरमिया

2
हाँ। यही वास्तविक समाधान है।
रस बेटमैन

16

लंबी लाइनों को लपेटने से विम को रोकने के लिए मैं इन दो लाइनों का उपयोग करता हूं .vimrc:

set nowrap           " do not automatically wrap on load
set formatoptions-=t " do not automatically wrap text when typing

12

लाइन रैप को डिसेबल करने के लिए, आप :set wrap!इस कमांड को अपने में दर्ज या जोड़ सकते हैं ~/.vimrc


2
यह वास्तविक लाइन ब्रेक के स्वचालित सम्मिलन को प्रभावित नहीं करता है, जो कि यह सवाल है।
आर्थर टाका

9

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

:set tw=0

यदि वह विफल रहता है उदाहरण के लिए

:set wrap linebreak textwidth=0 

तथा

:set virtualedit=insert

2
रैप और लाइनब्रेक बफर में वास्तविक अंत-पंक्तियों को सम्मिलित नहीं करते हैं, जिससे उसकी समस्या प्रतीत नहीं होती है।
ए। लेवी



0

मैकबुक प्रो पर मैंने लाइन में .com को आबंटित किया है

autocmd FileType text setlocal textwidth=78

तो यह बन गया

"  autocmd FileType text setlocal textwidth=78

(मैं homebrew के माध्यम से विम का एक संस्करण स्थापित किया है।) यह सभी .txt फ़ाइलों के लिए मदद की।

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