मुझे पसंद है कि लंबी लाइनें एक से अधिक टर्मिनल लाइन में प्रदर्शित होती हैं; मुझे यह पसंद नहीं है कि विम मेरे वास्तविक पाठ में नई प्रविष्टियाँ डाले। .Vimrc के किस भाग को मुझे बदलना चाहिए?
मुझे पसंद है कि लंबी लाइनें एक से अधिक टर्मिनल लाइन में प्रदर्शित होती हैं; मुझे यह पसंद नहीं है कि विम मेरे वास्तविक पाठ में नई प्रविष्टियाँ डाले। .Vimrc के किस भाग को मुझे बदलना चाहिए?
जवाबों:
उपयोग
:set wrap
नेत्रहीन रूप से लाइनों को लपेटने के लिए, अर्थात लाइन अभी भी पाठ की एक पंक्ति है, लेकिन विम इसे कई लाइनों पर प्रदर्शित करता है।
उपयोग
:set nowrap
लंबी लाइनों को सिर्फ एक लाइन के रूप में प्रदर्शित करने के लिए (यानी आपको पूरी लाइन देखने के लिए क्षैतिज रूप से स्क्रॉल करना होगा)।
मुझे पसंद है कि लंबी लाइनों को एक से अधिक टर्मिनल लाइन में प्रदर्शित किया जाता है
इस प्रकार का दृश्य / वर्चुअल लाइन रैपिंग wrap
विंडो विकल्प के साथ सक्षम है:
set wrap
मुझे यह पसंद नहीं है कि विम मेरे वास्तविक पाठ में नई प्रविष्टियाँ डाले।
भौतिक लाइन रैपिंग को बंद करने के लिए, बफर textwidth
और wrapmargin
बफर दोनों विकल्पों को स्पष्ट करें:
set textwidth=0 wrapmargin=0
set textwidth=0 wrapmargin=0
काम करता है, लेकिन अगर मैं इसे डाल देता हूं .vimrc
, तो इसके लिए सादे पाठ फ़ाइलों के लिए कोई प्रभाव नहीं पड़ता है। मैं ओवरराइट को कैसे पता लगाऊं और खत्म करूं?
:verbose set textwidth? wrapmargin?
। यह आपको उनके वर्तमान मूल्य और यह भी बताएगा कि उन्हें कहां सेट किया गया था। यह संभव है कि आपके पास एक प्लगइन है जो उन्हें ओवरराइड कर रहा है। उस स्थिति में आप या तो उस प्लगइन को अनइंस्टॉल कर सकते हैं, या बाद में अपने रनटाइमपथ (जैसे:) ~/.vim/after
या अपने स्वयं के ऑटोकॉमैंड के साथ प्लगइन सेटिंग को ओवरराइड करने का प्रयास कर सकते हैं । सही दृष्टिकोण इस बात पर निर्भर करेगा कि कहां / कैसे इसे रीसेट किया जा रहा है।
set wrap
और set linebreak
यह मेरे लिए क्या किया है।
मुझे यकीन नहीं है कि मैं पूरी तरह से समझता हूं, लेकिन आप 'फॉर्मेटॉप्शन' कॉन्फ़िगरेशन सेटिंग की तलाश कर सकते हैं। कुछ ऐसा आजमाएं :set formatoptions-=t
। t
विकल्प द्वारा चौड़ाई सेट पर पाठ रैप करने के लिए पंक्ति विराम सम्मिलित होगा textwidth
। आप इस आदेश को अपने में भी डाल सकते हैं .vimrc
, बस कोलन ( :
) को हटा दें ।
tw
।
उपयोग :set nowrap
.. एक आकर्षण की तरह काम करता है!
:set tw=0
वीआईएम ऑटो-इंसर्ट लाइन को नहीं तोड़ेगा, लेकिन लाइन को लपेटता रहेगा।
आपको set lbr
उपयोगी मिल सकता है; साथ set wrap
पर इस लपेट जाएगा, लेकिन इसमें केवल रिक्त स्थान पर और एक शब्द के बीच में नहीं लाइन काटने।
जैसे
without lbr the li
ne can be split on
a word
तथा
with lbr on the
line will be
split on
whitespace only
set nolinebreak
इसके बजाय का उपयोग करेंset lbr
set formatoptions-=t
विज़ुअल टेक्स्टवर्क रखता है, लेकिन इन्सर्ट मोड में नई लाइन नहीं जोड़ता है।
इसकी अजीब बात यह है कि इस तरह की एक साधारण सेटिंग के लिए काम करने के लिए 'hocus-pocus' की आवश्यकता होती है।
आपके प्रश्न का उत्तर देने के लिए, मेरे लिए यह निम्नलिखित के संयोजन के साथ काम करना चाहिए:
:set wrap linebreak nolist
(यह मौजूदा लाइनों को तोड़ने से रोकने के लिए लगता है, बस लपेटें।)
तथा
set formatoptions=l
(यह नई / संपादित पंक्तियों को टूटने से रोकता है, जबकि + = मेरे लिए ऐसा नहीं करता है क्योंकि अन्य सेटिंग्स / प्लगइन्स को स्थान खोजने लगता है और अपने स्वयं के विकल्प जोड़ते हैं जो मेरा ओवरराइड करते हैं।)
यदि मेरी तरह, आप Windows पर gVim चला रहे हैं, तो आपकी .vimrc फ़ाइल पाठ फ़ाइलों के लिए स्वचालित रूप से सेट textwidth
(मेरे मामले में 78
) एक और 'उदाहरण' Vimscript फ़ाइल को सोर्स कर सकती है।
इसी तरह के एक सवाल के बारे में मेरा जवाब है - वी और विम स्टैक एक्सचेंज साइट पर कॉलम 80 पर जीवीएम रैपिंग टेक्स्ट को कैसे रोकें :
मेरे मामले में, विटोर की टिप्पणी ने सुझाव दिया कि मैं निम्नलिखित चलाता हूं:
:verbose set tw?
ऐसा करने से मुझे निम्नलिखित आउटपुट मिले:
textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim
में vimrc_example.vim , मैं प्रासंगिक लाइनों पाया:
" Only do this part when compiled with support for autocommands. if has("autocmd") ... " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 ...
और मैंने पाया कि मेरी .vimrc उस फाइल को सोर्स कर रही है:
source $VIMRUNTIME/vimrc_example.vim
मेरे मामले में, मैं
textwidth
किसी भी फाइल के लिए सेट नहीं होना चाहता , इसलिए मैंने सिर्फ vimrc_example.vim में संबंधित लाइन को टिप्पणी दी ।
autocmd FileType text setlocal textwidth=0
vimrc फ़ाइल में जोड़ा और उस समस्या को ठीक किया जब अन्य प्रस्तावित समाधान नहीं हुए।
यह सही है कि सेट नाउपर आपको vi / vim के बिना एक लंबी लाइन में पेस्ट करने की अनुमति देगा, लेकिन नई रीडिंग के लिए लाइन को नेत्रहीन लपेटा नहीं जा सकता है। इसके बजाय यह केवल एक लंबी लाइन है जिसे आपको स्क्रॉल करना है।
लाइन को नेत्रहीन रूप से लपेटने के लिए लेकिन इसमें नई अक्षर नहीं डाले गए हैं, रैप सेट किया है (जो कि डिफ़ॉल्ट रूप से सेट करने के लिए आवश्यक नहीं है) और टेक्स्टवर्क सेट करना = ० ।
कुछ प्रणालियों पर पाठ्यपुस्तक की स्थापना = 0 डिफ़ॉल्ट है। यदि आपको ऐसा नहीं लगता है, तो अपने .exrc फ़ाइल में सेट टेक्स्टवर्क = 0 जोड़ें ताकि यह आपके उपयोगकर्ता के सभी vi / vim सत्रों के लिए डिफ़ॉल्ट हो जाए।
:set nowrap
आप क्या चाहते हैं की :( विपरीत है।