ভিম গত ৮০ টি অক্ষরে আলাদা ব্যাকগ্রাউন্ডের রঙ দেখাচ্ছে


134

আমি Vim 80 কলাম লেআউট উদ্বেগ দেখেছি , কিন্তু সেখানে উত্তরটি কেবল প্রকৃত সামগ্রীকে হাইলাইট করে যা 80 টি চরিত্রের চিহ্নকে ছাড়িয়ে যায়। আমি স্বাভাবিক পটভূমি এবং কিছুটা ভিন্ন ব্যাকগ্রাউন্ড ব্যবহার করে অতীতের যে কোনও কিছু বামে 80 টি কলাম সহ একটি 100+ কলাম উইম উইন্ডো খুলতে চাই। ভিম উইন্ডো ব্যাকগ্রাউন্ডটি অন্য বর্ণের হওয়া উচিত, এটি কেবল পাঠ্য নয় যা ৮০ অক্ষরের বিন্দুতে চলে যায়। এটি ইঙ্গিত দেয় যে আমি এটির উপরে না গিয়ে 80-চর বিন্দুতে কতটা কাছাকাছি চলেছি।

এটি বর্তমানে সম্ভব বলে আমি মনে করি না, তবে আমি ভেবেছিলাম যে আমি কেবল ক্ষেত্রে জিজ্ঞাসা করব।

এটি একটি প্লাগইন দিয়ে করা যেতে পারে?

পছন্দসই ভিম রাইট মার্জিন হাইলাইটিংয়ের টেক্সটমেটের উদাহরণ

টেক্সটমেটের সাধারণ পছন্দগুলিতে "ডান মার্জিনটি হাইলাইট করুন" নির্বাচন করে আপনি পছন্দসই ভিম আচরণের একটি উদাহরণ দেখতে পাবেন।

টেক্সটমেট রাইট মার্জিন হাইলাইটেড উদাহরণ


উত্তর:


223

আপনার যদি ভিম> = ভি .3.৩ থাকে তবে .vimrcআপনি 81 এবং এর থেকে উপরে হাইলাইট করার জন্য আপনার এটিকে কেবল যুক্ত করতে পারেন (সুতরাং 80টি আপনার শেষ বৈধ কলাম):

let &colorcolumn=join(range(81,999),",")

আপনি যদি হাইলাইট না দেখেন তবে আপনার কাছে ColorColumnহাইলাইট রঙ সেট নাও থাকতে পারে । এটি যুক্ত করুন (আপনার পছন্দ অনুসারে সামঞ্জস্য করুন):

highlight ColorColumn ctermbg=235 guibg=#2c2d27

এখন আমি ৮০ টি কলামের পাশাপাশি 120 এবং এর পরেও হাইলাইট করতে চাই, তাই আমার পৃথক "সতর্কতা" এবং "বিপদ" চিহ্নিতকারী রয়েছে। আপনি এইভাবে এটি করতে পারেন:

let &colorcolumn="80,".join(range(120,999),",")

উদাহরণ

জিভিম আমার সম্পাদনা করার একটি স্ক্রিনশট এখানে .vimrc

GVim আমার .vimrc সম্পাদনা করছে

আমি উবুন্টু মনো 11 ফন্ট এবং মলোকাই রঙের স্কিম ব্যবহার করি। আপনি আমার ভিআইএম কনফিগারেশন এবং আমার সমস্ত ডটফাইলগুলি গিটহাবটিতে খুঁজে পেতে পারেন ।


3
রঙিন কলামটি প্রতি 256 সংজ্ঞাতে সীমাবদ্ধ :help colorcolumn... এছাড়াও, আপনার যোগদানের কৌশলটি ব্যবহার করার সময় আমার সেটিংটি কিছুটা দৈর্ঘ্যে কাটা হয়েছে বলে মনে হয়, যদিও আমি দৈর্ঘ্যটি কী তা নির্ধারণ করার জন্য ভিআইএম উত্সের মাধ্যমে অনুসন্ধান করতে পারি না। এছাড়াও, উইম প্রতিবার উইন্ডোতে প্রবেশ করার সাথে সাথে একটি স্ট্রিং হিসাবে এই সেটিংটির মানটিকে বিশ্লেষণ করে, একটি বাফার ইত্যাদি শুরু করে, তাই এটি পছন্দসই ফলাফল অর্জনের এক ব্যয়বহুল উপায়।
cptstubing06

15
আপনার ডটফাইলগুলি হট।
obfk

1
এটি পোস্ট করার জন্য ধন্যবাদ, আমি ঠিক যা খুঁজছিলাম ছিল! আরও একটি প্রশ্ন, একটি নির্দিষ্ট ধরণের ফাইল (.md) এ এই নিয়মগুলি সেট না করার কোনও উপায় আছে কি?
ডেভিড ডায়াস

1
@ ডেভিডডিয়াস শিওর! আপনি autocmd FileType markdown let &colorcolumn=""এটি পুরোপুরি আনসেট করার মতো কিছু করতে পারেন ।
জাস্টিন ফোর্স


78

81 কলামটি হাইলাইট করুন

:set textwidth=80
:set colorcolumn=+1

আপনি কিছু স্টাইলিংও করতে পারেন:

:hi ColorColumn guibg=#2d2d2d ctermbg=246

2
এই এবং এটি সম্ভব এটা 256 কলামকে হাইলাইট আছে, কিন্তু দুর্ভাগ্যবশত এটা হাইলাইট করতে কলামের একটি তালিকা নেয় এবং সেখানে এটি জন্য কোন সাধারণভাবে সংক্ষেপে, তাই আপনি কিছু করতে পছন্দ কর হবে :set colorcolumn=+1,+2,+3,+4,+5,+6ইত্যাদি সম্ভবত সব পথ পর্যন্ত +256অবশ্য ওয়াইড জন্য আপনি মনে করেন আপনি আপনার ডান প্রান্তটি চান এটি কেবলমাত্র উইন্ডোতে সমস্ত লাইন নয় বাফারে বিদ্যমান লাইনগুলি হাইলাইট করবে।
এমকোমিটি

1
@ ডিসলেক্সিক ট্যানজেন্ট: পরিবর্তে প্রথম 80 টি কলাম হাইলাইট করবেন না কেন?
brice

1
আমি এটা ভাবিনি। আপনি> 80 টি কলাম হাইলাইট করতে ব্যবহার করতে চান সেই রঙের জন্য আপনার ব্যাকগ্রাউন্ড সেট করুন এবং 1-80 থেকে সমস্ত কলামের জন্য রঙিন কলাম সেট করুন এবং রঙিন কলামের জন্য হাইলাইট গ্রুপটি সেট করুন যাতে আপনি নিজের স্বাভাবিক ব্যাকগ্রাউন্ডটি চান color
mkomitee

2
একটি প্রশ্ন, আমি টাইপ করে রঙটি সঠিকভাবে সেট করতে :hi colorcolumn ...পারছি বলে মনে হয় না যখন আমি আমার .vimrc এ রাখি তখন এটি কাজ করে না। আপনি কি জানেন যে এটি কিভাবে করতে?
রোব্রিট

আমি একই সমস্যাটিকে রবব্রিট হিসাবে দেখছি - যদি আমি প্রাক্তন মোডে হাইলাইট কমান্ডটি চালনা করি তবে এটি দেখতে ভাল লাগে তবে আমার ভিআরসিআরসি ফাইলটিতে থাকলে এটি আমার রঙচামি নষ্ট করে দেয় ...
বেনিধাম্মা

16

সমাধান উপরের মন্তব্যে প্রস্তাবিত। প্রথমে আপনার ব্যাকগ্রাউন্ড হাইলাইট করুন তারপরে ওভারলে হিসাবে কালার কলাম কলামটি হাইলাইট করুন। আপনার রঙিন কলামটি 1-80 লাইনে সেট করুন।

hi Normal guibg=#32322f ctermbg=236
hi NonText guibg=#32322f ctermbg=236
hi ColorColumn guibg=#000000 ctermbg=0
let &colorcolumn=join(range(1,80),",")

1
এটি সহজ তবে উজ্জ্বল। ধন্যবাদ!
এয়ারট্রাইক

8

চেষ্টা করে দেখুন:

:/\%>80v./+

এটি +80 অক্ষরটিকে ত্রুটি হিসাবে চিহ্নিত করবে


তাই এক চিমটি মধ্যে চালাক। আমি এটি পছন্দ করি কারণ এটি থিম পরিবর্তনের সাথে খাপ খায়। ধন্যবাদ।
বেঞ্জামিন

0

আপনারা যা চান তা পাওয়া সম্ভব বলে আমি মনে করি না, তবে আমি নিজেই এই প্রশ্নটি অনুসরণ করছি কারণ আমি নিজেই এ জাতীয় বিষয়ে আগ্রহী।

সম্ভবত, আমি সুস্পষ্টভাবে বলছি, তবে আপনি 80 তম কলামে কতটা কাছাকাছি আসবেন তার ইঙ্গিত পেতে আপনি 70 তম + কলামগুলিতে হাইলিগ সেটআপ করতে পারেন।


0

আমার মতো onedark.vim ব্যবহার করে যারা কনার পোস্ট করেছেন এমন একটি সমাধান চায়, আমি এই লাইনগুলিকে আমার ভিএমআরসি ফাইলটিতে যুক্ত করেছি

let &colorcolumn=join(range(1,80),",")
let g:onedark_color_overrides = {
  \ "black": {"gui": "#2C323C", "cterm": "236", "cterm16": "8"},
  \ "cursor_grey": {"gui": "#282C34", "cterm": "235", "cterm16": "0"}
  \ }

আমি মাত্র দুটি মান অদলবদল করেছি, ওনডार्কের উত্স কোড থেকে নিয়েছি

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