নতুন লাইনের সামনে মন্তব্য করা বন্ধ করতে আমি কীভাবে ভিএম পেতে পারি?


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আপনার ভিএমআরসি-তে একটি ব্যবহার করা ভাল ; উদাহরণ স্বরূপ:

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

এটি আপনার ভিএমআরসি-তে যুক্ত করুন:

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

FileTypeঅন্যান্য প্লাগইন সেট হওয়ার পরে ব্যবহার করা কাজ করবে না formatoption

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