আমি কি ভিমের পরবর্তী লাইনে মন্তব্যের ধারাবাহিকতা অক্ষম করতে পারি?


65

ভিমে, যদি আমি একটি কোড ফাইলটিতে একটি মন্তব্য টাইপ করি এবং আমি আঘাত করি তবে Enterএটি স্বয়ংক্রিয়ভাবে নতুন লাইনে একটি মন্তব্যও করে।

উদাহরণস্বরূপ, একটি রুবি ফাইলটিতে:

# I manually typed the pound at the start of this line and hit enter.
# This line formatted itself this way automatically.

সাধারণত, আমি যা চাই তা সবসময় নয়। আমি কীভাবে সাময়িকভাবে এই স্ব-মন্তব্য করার আচরণটি বন্ধ করতে পারি?


অস্থায়ীভাবে, আপনি কি আ কমান্ড চান যা এটি একবারে করে, বা এমন কিছু বিকল্প সেট করে যা কয়েকটি আদেশের জন্য স্থায়ী হয় যতক্ষণ না আপনি এটি চালু না করেন? সম্ভাব্য ক্রস সাইটের সদৃশ: স্ট্যাকওভারফ্লো.
com/ জিজ্ঞাসা / 9৮৯6০০৩/২

উত্তর:


86

আমার মনে হয় আপনি খুঁজছেন

:set formatoptions-=cro

থেকে :help fo-table:

You can use the 'formatoptions' option  to influence how Vim formats text.
'formatoptions' is a string that can contain any of the letters below.  The
default setting is "tcq".  You can separate the option letters with commas for
readability.

letter  meaning when present in 'formatoptions'

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

13
তোমাকে অনেক ধন্যবাদ! এই আচরণটি আমাকে বিরক্ত করছিল - আমি ইউনিক্স VI থেকে লিনাক্স ভিমে এসেছি। Googlers জন্য: জন্য স্থায়ী ব্যবহারের , এছাড়াও দেখুন stackoverflow.com/questions/6076592/... এবং মধ্যে, / etc / vimrc এই লাইন লিখুন:autocmd BufNewFile,BufRead * setlocal formatoptions-=cro
bgStack15

সাহায্য করেনি; টাইপিং /**<ESC>oএখনও পরবর্তী লাইনে একটি তারা যুক্ত করে।
কিউস

কাজ করে না। z
felwithe

8

অস্থায়ীভাবে 'পেস্ট' বিকল্পটি সেট করা আপনার যা করতে পারে তা করতে পারে তবে এটি অন্যান্য অনেক ভিম বৈশিষ্ট্যও অক্ষম করে:

:set pasteএটি চালু করতে এবং :set nopasteএটি বন্ধ করতে ব্যবহার করুন । বিকল্পভাবে, আপনি :set paste!এটি টগল করতে ব্যবহার করতে পারেন ।

আরো দেখুন:

:help 'paste'
:help 'pastetoggle'

(এই আদেশগুলি একক উদ্ধৃতি দিয়ে টাইপ করা হয়।)


4
:set pasteএটি চালু করতে এবং :set nopasteএটি বন্ধ করতে
ব্যবহারকারী

2
বিকল্প হিসাবে আপনি :set paste!এটিকে সত্য এবং মিথ্যা টগল করতে ব্যবহার করতে পারেন
ফিলিপ আলভারেজ

3

আমি অ-বিন্যাসযুক্ত প্লেইন নতুন লাইনগুলি দিয়ে প্রবেশ করি <CR>

আমি যখন মন্তব্য করা ব্লকের পরবর্তী লাইনটি টাইপ করা চালিয়ে যেতে চাই তখন আমি কেবল Oযথারীতি কীটি ব্যবহার করি ।

এটা চেষ্টা কর:

nnoremap <silent> <cr> :set paste<cr>o<esc>:set nopaste<cr>

1
আপনি কি বলতে চাইছেন <CR>? একটি বিশেষ চাবি?
পিটার মর্টেনসেন

1
সিআর মানে ক্যারেজ রিটার্ন। আমি যে কম্পিউটারগুলি ব্যবহার করেছি সেগুলিতে এটি এন্টার কীতে ম্যাপ করা হয়েছে।
সেবাস্তিয়ান জিলানকি

0

আমি এটি দিয়ে শেষ করেছি:

nnoremap <Leader>o o<Esc>^Da
nnoremap <Leader>O O<Esc>^Da

এটি একটি নতুন লাইন সংযোজন করে, ইতিমধ্যে সেখানে everythingোকানো সমস্ত কিছু মুছে ফেলে এবং বিন্যাস বিকল্পগুলির সাথে গোলযোগ না করে কারেন্টটি ইনডেন্ট কলামে সন্নিবেশ মোডে রেখে দেয়।


0

এই উত্তরটি দেবিয়ান এবং এর কিছু ডেরাইভেটিভের ক্ষেত্রে প্রযোজ্য ।

ডেবিয়ান বিতরণে ভিম ডিফল্ট অযৌক্তিক। এগুলি অবস্থিত /usr/share/vim/vim80/defaults.vimএবং প্রয়োগ করা হয় (!) /etc/vim/vimrcচালানোর পরে। ভিমকে তার ডিফল্ট ব্যবহার না করার একমাত্র উপায় ~/.vimrcহ'ল ফাঁকা থাকলেও তা বিদ্যমান রয়েছে তা নিশ্চিত করা । স্টার্টআপে ভিম থেকে পড়ার চেষ্টা করে .vimrc, তবে ফাইলটি পাওয়া না গেলে এটি ডিফল্ট প্রয়োগ করে যা প্রচুর অনাকাঙ্ক্ষিত আচরণ যেমন মাউস ইন্টিগ্রেশন, কপি-পেস্ট প্রশ্ন, মন্তব্য স্বতঃ-মোড়ানো ইত্যাদি নিয়ে আসে etc.

ডেবিয়ানে আপনি কেবল চালিয়ে সমস্ত কিছু ঠিক করতে পারেন touch ~/.vimrc

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.