ভিমে ট্রেলিং স্পেস প্রদর্শন করুন


11

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

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

সুতরাং আমি সংগৃহীত তথ্য এবং আমি যে সমাধানগুলি পেয়েছি তার সংক্ষিপ্ত করার চেষ্টা করব।

সমাধান 1: ম্যানুয়ালি ট্রেলিং স্পেসগুলি হাইলাইট করুন

highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()

পেছনের সাদা স্থানগুলিকে হাইলাইট করুন

পেশাদাররা:

  • ব্যবহার করা সহজ
  • দ্রুত
  • মানানসই cursorline

কনস:

  • চয়ন করা রঙ অন্যান্য রঙের স্কিমগুলির সাথে সামঞ্জস্যপূর্ণ নয় কারণ রঙ ম্যানুয়ালি সেট করা হয়েছে red
  • বড় লাল ব্যাকগ্রাউন্ড ব্লকগুলি খুব কৌতুকপূর্ণ নয়

সমাধান 2: তালিকা বৈশিষ্ট্য ব্যবহার করে

set list
set listchars+=trail:◦

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

পেশাদাররা:

  • ব্যবহার করা সহজ
  • দ্রুত

কনস:

  • :set cursorlineসক্ষম হলে ইস্যু
  • এর জন্য উত্সর্গীকৃত রঙ list/trailকনফিগারযোগ্য নয়। অন্যান্য তালিকার জন্য একই হতে হবে

সমাধান 3: গোপন বৈশিষ্ট্য ব্যবহার করে

syn match WhiteSpace "\s\+$" containedin=ALL conceal cchar=◦
set conceallevel=2 
set concealcursor=nv
highlight Conceal ctermfg=red

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

পেশাদাররা:

  • প্রথম সমাধানের চেয়ে অনেক সুন্দর

কনস:

  • পটভূমি কার্সরলাইন ব্যাকগ্রাউন্ডের মতো নয়
  • অন্যান্য গোপনীয় বিধিগুলিতে হস্তক্ষেপ করতে পারে
  • রঙ চয়ন করা রঙ স্কিমের সাথে সবসময় সামঞ্জস্য করে না
  • ভিমের পুরানো সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয়

আমার প্রশ্ন

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

অন্য শর্তে, আমি একটি সমাধান খুঁজতে চাই যেখানে:

  • হাইলাইট ট্রেলিং রঙটি নির্বাচিত কালারচেমের সাথে সম্মত
  • এই রঙটি পরিষ্কারভাবে দৃশ্যমান তবে চোখের চেয়ে খুব বেশি আক্রমণাত্মক নয়
  • cursorline(ব্যাকগ্রাউন্ড এবং অগ্রভাগ) Comp এর সাথে সামঞ্জস্যপূর্ণ `
  • অন্যান্য প্লাগইনগুলির সাথে সামঞ্জস্যপূর্ণ যা গোপন ব্যবহার করতে পারে
  • পিছনের চরটি যে কোনও ইউনিকোড চরে সেট করা যেতে পারে

আপনি যদি লাল পছন্দ করেন না, তবে একটি আলাদা রঙ চয়ন করুন। আপনি যদি রঙটি বিভিন্ন রঙের স্কিমের সাথে সামঞ্জস্য করতে চান তবে নির্দিষ্ট রঙ ব্যবহারের পরিবর্তে কোনও রঙের নামের সাথে লিঙ্ক করুন, যেমন :hi link ExtraWhitespace CursorLine,। দেখুন :help hi-link
গ্যারিজন জন

উত্তর:


4

পারফরম্যান্সের ক্ষেত্রে, এর কোনওটিরই কোনও পার্থক্য করা উচিত নয়। ভিম বেশিরভাগই জটিল সিনট্যাক্স নিদর্শনগুলিতে জর্জরিত হয়; এখানে প্যাটার্নটি বেশ সহজ।

হাইলাইট রঙটি নির্বাচিত কালারচেমের সাথে একমত হওয়ার জন্য, :hi linkবিদ্যমান গ্রুপে ব্যবহার করুন ; সাধারণত, যে হবে Error। অবশ্যই, যদি আপনি প্রায়শই (বেশ আলাদা) রঙের ছায়াগুলি স্যুইচ করেন তবে এর মধ্যে যে কোনও একটিই গুরুত্বপূর্ণ; অন্যথায়, উপযুক্ত রঙগুলি সরাসরি ব্যবহার করা (আপনার সমাধান 1 হিসাবে) খুব ভাল।

সমাধান 1: ম্যানুয়ালি ট্রেলিং স্পেসগুলি হাইলাইট করুন

আমি এই জন্য যেতে হবে, কিন্তু matchadd()পরিবর্তে ব্যবহার :match; এটি কাস্টম হাইলাইট করার জন্য দ্বিতীয়টি ছেড়ে দেয়। এছাড়াও, clearmatches()খুব মোটা হয়; এটি সমস্ত মিল মুছে ফেলে এবং তাই প্লাগইনগুলিকে প্রভাবিত করতে পারে। আপনি একটি পরিষ্কার এবং শক্তিশালী প্রয়োগের জন্য আমার শোট্রাইলিংহাইটস্পেস প্লাগইনটি দেখতে / দেখতে পারেন (এতে নির্দিষ্ট ফাইল টাইপের ব্যতিক্রমও অন্তর্ভুক্ত রয়েছে)। হ্যাঁ, এটি অনেক বড় সমাধান, তবে আমি এখনও কোনও প্রভাব লক্ষ্য করিনি।

সমাধান 2: তালিকা বৈশিষ্ট্য ব্যবহার করে

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

সমাধান 3: গোপন বৈশিষ্ট্য ব্যবহার করে

এটি অবশ্যই বৈশিষ্ট্যটি ব্যবহার করে কিছু বাক্য গঠন এবং প্লাগইনগুলিতে হস্তক্ষেপ করবে। খারাপ ধারণা।


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

ডান, কাস্টম চরগুলি শুধুমাত্র সাথে কাজ করে 'listchars'। আমার কাছে হাইলাইটিং যথেষ্ট পরিমাণে (বিশেষত আক্রমণাত্মক রঙের সাথে)।
ইনগো কারকাত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.