नई लाइनों के सामने टिप्पणी डालने से रोकने के लिए मुझे कैसे विम मिल सकता है?


50

मैं अपनी .vimrcफ़ाइल संपादित कर रहा हूं , और मैं टिप्पणियों सहित हूं। जब मेरे पास इस तरह की टिप्पणी है:

" example comment

और फिर टिप्पणी समाप्त करने के बाद लाइन के अंत में प्रवेश करें, अगली पंक्ति स्वचालित रूप से एक टिप्पणी के रूप में सेट हो जाती है (उद्धरण स्वचालित रूप से सम्मिलित किए जाते हैं:

" example comment
" 

मैं इस व्यवहार को कैसे रोक सकता हूं?

जवाबों:


66

यह formatoptionsसेटिंग के साथ नियंत्रित होता है ; से :help fo-table:

आप 'formatoptions'पाठ को कैसे प्रारूपित करें, यह प्रभावित करने के लिए विकल्प का उपयोग कर सकते हैं । 'formatoptions'एक स्ट्रिंग है जिसमें नीचे कोई भी अक्षर हो सकता है। डिफ़ॉल्ट सेटिंग है tcq। आप पठनीयता के लिए विकल्प पत्रों को अल्पविराम से अलग कर सकते हैं।

ध्यान दें कि "चूक" के बारे में बयान कुछ हद तक भ्रामक है, क्योंकि कई फ़िलिपेट्स फ़ाइल प्रकार को सबसे अच्छा सूट करने के लिए प्रारूप को बदलते हैं; उदाहरण के लिए /usr/share/vim/vim74/ftplugin/vim.vim:

" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql

आप वर्तमान को इसके formatoptionsसाथ देख सकते हैं :

:set fo?
  formatoptions=jcroql

और देखें कि उन्हें कहाँ सेट किया गया था:

:verbose set fo?
  formatoptions=jcroql
      Last set from /usr/share/vim/vim74/ftplugin/vim.vim

इस मामले में, आप rध्वज को हटाना चाहते हैं , लेकिन शायद यह भी cऔर oझंडे:

r       Automatically insert the current comment leader after hitting
        <Enter> in Insert mode.
c       Auto-wrap comments using textwidth, inserting the current comment
        leader automatically.
o       Automatically insert the current comment leader after hitting 'o' or
        'O' in Normal mode.

यह इस तरह किया जा सकता है:

:set formatoptions-=r formatoptions-=c formatoptions-=o

ध्यान दें कि उपयोग :set formatoptions-=croकरना अपेक्षित नहीं है (क्योंकि यह एक स्ट्रिंग है, यह स्ट्रिंग के लिए दिखेगा cro, उस क्रम में, जो अक्सर काम नहीं करेगा।)

केवल वर्तमान बफ़र के लिए परिवर्तन सेट करने के लिए, के :setlocalबजाय का उपयोग करें :set। यदि आप हमेशा इन विकल्पों को रखना चाहते हैं, तो संभवतः autocmdअपने vimrc में उपयोग करना सबसे अच्छा है ; उदाहरण के लिए:

au FileType vim setlocal fo-=c fo-=r fo-=o

यह केवल 'vim' फ़ाइल नाम के लिए विकल्प सेट करेगा , और अन्य फ़ाइलपेट के साथ हस्तक्षेप नहीं करेगा।

यदि आप इसे हमेशा सेट करना चाहते हैं , तो उपयोग करें:

au FileType * set fo-=c fo-=r fo-=o

बस का उपयोग set fo-=croकरने से काम नहीं चलेगा क्योंकि कई फाइलपेट सेट / विस्तार formatoption(जैसे ऊपर दिखाया गया है); फ़ाइल टाइप ऑटोकम फाइल फ़ाइल लोड होने के बाद निष्पादित की जाती है ।


1
की पुष्टि। इसके अलावा, इसका उत्तर यहां दिया गया है: stackoverflow.com/questions/16030639/vim-formatoptions-or
मेलन

1
au FileType * set fo-=oमेरे .vimrc में जोड़ने से काम नहीं चला। मैं oएक टिप्पणी लाइन में दबाता हूं और यह अभी भी यह टिप्पणी करता है।
आईएक्स

यह मुझे लंबे समय से परेशान कर रहा है। डिफ़ॉल्ट formatoptionsमेरी txt फ़ाइल को लपेट रहा था। मैं अपने सिर के चारों ओर तोड़ने गया था textwidthऔर wrapmarginलेकिन कुछ भी काम किया। यहां तक ​​कि 8.1 से 8.0 तक मेरी विम को डाउनग्रेड किया यह सोचकर कि यह एक बग है। इससे मेरी समस्या हल हो गई, धन्यवाद।
अनिशजप

1

इसे अपने vimrc में जोड़ें:

au BufEnter * set fo-=c fo-=r fo-=o

FileTypeअन्य प्लगइन्स सेट होने के बाद से उपयोग करना काम नहीं करेगा formatoption

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