সক্রিয় উইন্ডোটি ভিএম-তে আরও সুস্পষ্টভাবে তৈরি করা


22

আমার কর্মক্ষেত্রটি সাধারণত ভিএম সহ একটি খুব বড় এক্সটার্ম, ছয় বা আরও বাফারগুলিতে বিভক্ত। এটি যদি সত্যই কার্যকর হয় তবে এটি যদি আরও সক্রিয় থাকে তবে কোনটি সক্রিয় বাফার। এই মুহুর্তে আমি এর জন্য লাইন নম্বরগুলির উপস্থিতিটি ব্যবহার করছি:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

তবে এর অর্থ এই যে আমি যখন বাফারগুলি পরিবর্তন করি তখন আমার কোডটি বাম বা ডানদিকে লাফ দেয়, যা বিরক্তিকর। এছাড়াও, আমি এটি নিষ্ক্রিয় বাফারে এমনকি 94 লাইনটি দেখতে সক্ষম হতে চাই । সক্রিয় বাফারে লাইন নম্বরগুলির রঙ পরিবর্তন করার কোনও উপায় আছে কি?

উত্তর:


26

আপনার টেমপ্লেট অনুসরণ করে, আপনি রঙিন কলাম হিসাবে বিভিন্ন বৈশিষ্ট্য পৃথক হতে পারে:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set colorcolumn=80
    autocmd WinLeave * set colorcolumn=0
augroup END

এটি আপনার বর্তমান উইন্ডোতে 80 টি কলামটি রঙ করবে, অন্যকে এটি অক্ষম করার সময়। এটি লাইন নম্বর সেট / সেট না করা থেকে কিছুটা কম ঝাঁকুনির মতো।

এর চেয়েও কম অনুপ্রেরণীয় বিকল্প, যদি আপনি বর্তমান লাইনটি (সেট কুল) হাইলাইট করতে অভ্যস্ত হন তবে তা করতে হবে:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set cul
    autocmd WinLeave * set nocul
augroup END

এটি সবই আপনার ব্যবহার এবং আপনি কী দিতে চান তা নেমে আসে।


11

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

hi StatusLine   ctermfg=15  guifg=#ffffff ctermbg=239 guibg=#4e4e4e cterm=bold gui=bold
hi StatusLineNC ctermfg=249 guifg=#b2b2b2 ctermbg=237 guibg=#3a3a3a cterm=none gui=none

প্রথমটি বর্তমান উইন্ডোটির জন্য, দ্বিতীয়টি "অ-বর্তমান" উইন্ডোর জন্য।

এটি এক্সরিয়া 256 এর একটি অংশ , আপনার রঙগুলি আপনার রঙের সাথে মানিয়ে নেওয়া উচিত।

তবে আপনি এর মতো কিছু চেষ্টা করতে পারেন (সাবধান, দ্বিতীয় লাইনের রঙগুলি সম্পূর্ণ এলোমেলো):

augroup NrHighlight
  autocmd!
  autocmd WinEnter * hi LineNr ctermfg=247 guifg=#9e9e9e ctermbg=233 guibg=#121212
  autocmd WinLeave * hi LineNr ctermfg=274 guifg=#e9e9e9 ctermbg=133 guibg=#212121
augroup END

আমি ইতিমধ্যে উইনএন্টার / উইনলাইভে হাইলাইট করা লাইনএনআর পরিবর্তন করার চেষ্টা করেছি, তবে দেখা যাচ্ছে যে লাইনএনআর রঙটি বিশ্বব্যাপী।
DrHyde

হ্যাঁ, এবং এটি মনে রাখতে আমাকে আপনার মন্তব্যটি অপেক্ষা করতে হয়েছিল। সুতরাং, না, লাইনএনআর যদি বিশ্বব্যাপী হয় তবে অবশ্যই এটি নির্দিষ্ট উইন্ডোতে পরিবর্তন করার কোনও উপায় নেই। আপনি কি মনে করেন না স্ট্যাটাসলাইন যথেষ্ট?
রোমেনেল

আমি ভাবলাম লাইনএনআর-এর উইন্ডোতে অন্য কোনও সংস্করণ থাকতে পারে কিনা। এবং না, আমি মনে করি না স্থিতি রেখা যথেষ্ট। এটি সাহায্য করে তবে আমি আরও চাই like স্থিতি রেখাটি ব্যবহার করে একটি সমস্যা হ'ল উইন্ডোটির নীচে সক্রিয় উইন্ডো সূচক থাকা আমাদের অন্য যে কোনও জায়গার ঠিক বিপরীত - উইন্ডোর শীর্ষে একটি শিরোনাম বার যা রঙ পরিবর্তন করে - তাই একটি মুহুর্ত রয়েছে "ওহ হ্যাঁ, ভিম এটি অন্যভাবে করে" ভাবতে বিরতি দিন। যেখানে লাইন নম্বরগুলি সর্বদা , প্রতিটি প্রয়োগে একই জায়গায় থাকে।
DrHyde

আমি উইন্ডো ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করতে পারলে সত্যিই এটি পছন্দ করব তবে উপরের দিক থেকে মনে হচ্ছে এটি সম্ভব নয়।
জোনাথন হার্টলি

ব্যবহার hi StatusLine...এবং hi StatusLineNC...একটি কবজ মত কাজ!
লুচ এম


2

এই আমি কি কি:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set relativenumber
    autocmd WinLeave * set norelativenumber
augroup END

আপেক্ষিক সংখ্যা হ'ল কমান্ডগুলির পুনরাবৃত্ত পরিমাণ গণনা করার জন্য কেবলমাত্র একটি সহায়তা, আপনি যে উইন্ডোটি সম্পাদনা করছেন না তাতে তাদের কোনও ব্যবহার নেই।



1

আপনি ~/.vimrcএটিতে আপনার যুক্ত করতে পারেন যা নিষ্ক্রিয় উইন্ডোজের স্থিতি বারগুলিকে সক্রিয় উইন্ডোর সাদা স্ট্যাটাস বার থেকে পৃথক করার জন্য একটি গা gray় ধূসর ব্যাকগ্রাউন্ড তৈরি করবে।

highlight StatusLineNC cterm=bold ctermfg=white ctermbg=darkgray

এই স্ক্রিনশট উদাহরণ দেখুন। মাঝের উইন্ডোটি সক্রিয় (সাদা স্ট্যাটাস বার)। বাম এবং ডান উইন্ডোজগুলি নিষ্ক্রিয় (গা gray় ধূসর স্থিতি বার)।

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

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