সেট পাঠ্য প্রশস্ততার প্রান্তে ভিমকে একটি লাইন প্রদর্শন করুন


26

আমি এই দিনগুলিতে ব্যবহার করি বেশিরভাগ পাঠ্য সম্পাদক এবং আইডিইগুলির একটি বৈশিষ্ট্য রয়েছে যেখানে তারা পাঠ্য বাফারে একটি নির্দিষ্ট অক্ষরের দৈর্ঘ্যে একটি লাইন প্রদর্শন করতে পারে। আপনি যখন একটি নির্দিষ্ট দৈর্ঘ্যের নীচে কোনও ফাইলে লাইন রাখতে চান এটি কার্যকর।

পছন্দ করে নিন ইতিমধ্যে সংজ্ঞায়িত textwidthমানটি ব্যবহার করে, ভিমকে এটি করার কোনও উপায় আছে কি ? লাইনগুলি স্বয়ংক্রিয়ভাবে সেই মুহুর্তে মোড়ানো হবে, তবে আমি এটির পাশাপাশি এটি দেখতে সক্ষম হতে চাই।

যদি এটি বিবেচিত হয় তবে আমি মূলত উইন্ডোজে জিভিম ব্যবহার করি তবে সমাধানটি ভিম সংস্করণ জুড়ে কাজ করলে আমি এটি পছন্দ করব।

উত্তর:


41

(ছ) ভিমের জন্য, নিম্নলিখিতগুলি ব্যবহার করুন:

set colorcolumn=80

বা আপনি যে প্রস্থ চান তা। ভিএম এবং জিভিএম উভয় ক্ষেত্রেই কাজ করে। আমার যদি আইএফ এর মধ্যে আমার থাকে তাই আমি কোন ধরণের ফাইলগুলি সম্পাদনা করি তার উপর ভিত্তি করে এটি শর্তযুক্ত।

আপনি & টেক্সট প্রস্থ থেকে +/- কলামের অবস্থানের অবস্থানের জন্য একটি + x / -x ব্যবহার করতে পারেন।

set textwidth=80
set colorcolumn=-2

বর্ণমালার বারটি কার্যকরভাবে চর স্থানে আঁকতে পারে। 78 অবশ্যই, আপনি নিজে পাঠ্য প্রস্থটি সেট করতে বা নাও স্থাপন করতে পারেন, সুতরাং এটি 0 (ডিফল্ট) হতে পারে। আমি পরম অবস্থান ফর্ম ব্যবহার।

আপনি চাইলে ব্যবহৃত রঙও পরিবর্তন করতে পারেন:

highlight ColorColumn ctermbg=green guibg=orange

(যদিও আমি এই রঙগুলির প্রস্তাব দিই না)

এই বিকল্পটি (ছ) ভিমে 7.3-এ যুক্ত করা হয়েছিল।


এটি ভিমের কোন সংস্করণে সমর্থিত? এটি gvim 7.2 এ আমার জন্য কাজ করছে না।
হার্মস

আমি 7.3 চালাচ্ছি। আমি স্রেফ সোর্স কোডটি টানলাম এবং দেখলাম, এই কমান্ডটি 7.3 সালে চালু হয়েছিল।
লার্নিক্স

আমার জন্য উবুন্টু 12.04-এ im.৩ এর সাথে কাজ করে। gvim জন্য 7.3 উইন্ডোজ থেকে অন্তত 2010 @Herms সালের অক্টোবর আপনি এই উত্তর করতে পারেন প্রাপ্তিসাধ্য হয়েছে?
poindexter

পাশাপাশি কাজ করে একাধিক উইন্ডোজ ব্যবহার করার সময় এটি চমৎকার হবে। আমার মনিটরটি সারিতে বেশ কয়েকটি উইন্ডো দেখানোর জন্য যথেষ্ট প্রশস্ত, প্রতিটি এক> ৮০ অক্ষর তবে রঙিন কলামটি কেবল প্রথম (বামতম) উইন্ডোতে কাজ করে।
এানো

3

গুগল কোডে একটি স্নিপেট রয়েছে যা আপনি চেষ্টা করতে পারেন:

augroup vimrc_autocmds
au!
    autocmd BufRead * highlight OverLength ctermbg=red ctermfg=white guibg=#592929 
    autocmd BufRead * match OverLength /\%81v.*/
augroup END

হুম, এই থ্রেডটি পরামর্শ দেয় যে উইন্ডোজের জিভিআইএম এটি ইতিমধ্যে সমর্থন করে, তবে কীভাবে এটি চালু করা যায় তা আমি বুঝতে পারি না।
হার্মেস

থ্রেডে আরও নীচে আপনার gvimrc ফাইলটিতে যুক্ত করার জন্য কিছু কোড রয়েছে।
ইবিগ্রিন

দেখে মনে হচ্ছে এটি কেবল সেই অক্ষরের পটভূমি পরিবর্তন করে যা সেই রেখার বাইরে চলে যায়। আমি বরং অন্যান্য সম্পাদকদের মতো একটি সর্বদা দৃশ্যমান গাইড পেতে চাই।
হার্মেস

গুইয়ের প্রকৃতির কারণে আমি ইতিবাচক নই যা বর্তমানে সম্ভব।
ইবিগ্রিন

এটি প্রশ্নের অনুরোধ মতো পাঠ্য প্রস্থের সাথে খাপ খায় না।
স্টিভেন রুজ

2

প্রতি স্ট্যাকওভারফ্লো উত্তর :

highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.*/

আপনার স্বাদ অনুসারে সামঞ্জস্য করুন।


হুঁ, না বেশ কি আমি (যখন অক্ষর লাইন অতীতে যাও শুধুমাত্র প্রদর্শন) খুঁজছি, কিন্তু এটা কিছুই বেশী ভালো।
হার্মেস

এটি প্রশ্নের অনুরোধ মতো পাঠ্য প্রস্থের সাথে খাপ খায় না।
স্টিভেন রুজ

1

আমি লার্নিক্সের উত্তরটি অনেক পছন্দ করি তবে আমি কলামটি সর্বদা হাইলাইট করতে চাই না , কেবলমাত্র যখন কমপক্ষে একটি লাইন দৈর্ঘ্যের সীমা ছাড়িয়ে যায়:

লাইনগুলি দীর্ঘ হলে কলাম দেখানো হচ্ছে

আমি এখানে আমার হাস্কেল ফাইলগুলির জন্য কীভাবে করব:

augroup HaskellCommands
autocmd!
  " When a Haskell file is read or the text changes in normal or insert mode,
  " draw a column marking the maximum line length if a line exceeds this length
  autocmd BufRead,TextChanged,TextChangedI *.hs call ShowColumnIfLineTooLong(80)
augroup END

" Color the column marking the lengthLimit when the longest line in the file
" exceeds the lengthLimit
function! ShowColumnIfLineTooLong(lengthLimit)
  " See /programming/2075276/longest-line-in-vim#2982789
  let maxLineLength = max(map(getline(1,'$'), 'len(v:val)'))

  if maxLineLength > a:lengthLimit
    highlight ColorColumn ctermbg=red guibg=red
    " Draw the vertical line at the first letter that exceeds the limit
    execute "set colorcolumn=" . (a:lengthLimit + 1)
  else
    set colorcolumn=""
  endif
endfunction

0

এটি প্রায়শই #vim এবং কিছু ফোরামে আলোচিত হত। এখন যতটা বিষয় দাঁড়িয়ে আছে, এটি সম্ভব নয়। তাই উল্লিখিত সমাধানটি আপনার একমাত্র বিকল্প aik

জিনিসটি হ'ল, ভিমে যে জায়গাগুলিতে অক্ষর রয়েছে সেগুলির সাথে কিছু করতে পারে (সেগুলি হরফ, সংখ্যা বা কেবল সরল সাদা অংশ)। তবে যদি সেখানে কিছু না থাকে তবে এটি আলাদা রঙে (যেমন আপনি চান) একটি পটভূমি আঁকতে পারে না। এবং আপনি কিছু টাইপ করার আগে সেখানে কিছুই নেই, সুতরাং এটি কোনও লাইন / মার্জিন আঁকতে পারে না।

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