আমি ব্যাবহার করছি zsh, tmux এবং ভিম এবং আমি জানতে চাই যে টার্মিনাল, ভিম, ভিম-এয়ারলাইন এবং টিএমইক্স স্ট্যাটাস লাইনের মধ্যে একমাত্র কমান্ডের মাধ্যমে সৌরভিত্তিক অন্ধকার / আলোতে কীভাবে স্যুইচ করা যায়।
আমি ব্যাবহার করছি zsh, tmux এবং ভিম এবং আমি জানতে চাই যে টার্মিনাল, ভিম, ভিম-এয়ারলাইন এবং টিএমইক্স স্ট্যাটাস লাইনের মধ্যে একমাত্র কমান্ডের মাধ্যমে সৌরভিত্তিক অন্ধকার / আলোতে কীভাবে স্যুইচ করা যায়।
উত্তর:
আমি নিজেকে এই সমস্যা সঙ্গে সংগ্রাম করছি। আমি একটি অসিদ্ধ, হ্যাকি আধা-সমাধান নিয়ে এসেছি, কিন্তু আমি যা সংগ্রহ করেছি তা থেকে, টার্মিনাল রংগুলিকে টেমপ্লেট করা ঠিক একটি তুচ্ছ সমস্যা নয়।
আমি যা পেয়েছি তা হল যে টিএমএক্স এবং ভিম উভয় আপনার টার্মিনাল রঙের স্কিম (কালো, লাল, সবুজ, হলুদ, নীল, ম্যাজেন্টা, সায়ান, সাদা এবং তাদের সমস্ত 'উজ্জ্বল' রূপগুলি) এ সংজ্ঞায়িত 16 ANSI রঙের মান ধার করে। যদি আপনার মধ্যে আলো টার্মিনাল রঙ প্রকল্প, আপনি ANSI কালো সংজ্ঞা সংজ্ঞা বিপর্যস্ত & amp; সাদা ( যেমন, কালো / উজ্জ্বল ব্ল্যাককে হালকা ব্যাকগ্রাউন্ড রং এবং সাদা / উজ্জ্বল সাদা কালো রঙের মতো উজ্জ্বল করুন), টিএমস এবং ভিম মামলা অনুসরণ করবে। যতক্ষণ আপনি শুধুমাত্র একক রঙের আলোতে আলোর / গাঢ় রূপগুলি ব্যবহার করছেন, ততক্ষণ এটি স্থিরভাবে কাজ করা উচিত।
আপনি এই স্ক্রিনশটটিতে দেখতে পারেন, এটি নিখুঁত নয় (সামনে টার্মিনাল, পিছনে ম্যাকভিম রয়েছে - এয়ারলাইন্স পাঠ্যের পার্থক্যগুলি নোট করুন, পাশাপাশি মাঝখানে কালোের অবৈধ ব্লকটি, যা অন্ধকারে হালকা লেখা বলে মনে করা হয় পটভূমি), তবে এটি কোনও ভিআইএম / টিএমক্স / ভিআইএম-এয়ারলাইন্স সেটিংস স্পর্শ না করে 99% উপায় পায়।
আমি আইটিআর 2, টিএমইউক্স এবং ভিমের জন্য হালকা এবং অন্ধকারের মধ্যে সৌরজগতের সাথে একত্রিত করার পদ্ধতিটি খুঁজে পেয়েছি, ভিম থেকে একক কমান্ড দিয়ে:
ITerm2 এর পছন্দগুলির মধ্যে দুটি প্রোফাইল সেট করুন, সোলারাইজড ডার্ক কালার স্কিম এবং সোলারাইজড লাইট কালার স্কিম সহ এক। এখানে রঙের প্রিসেটগুলি খুবই সহায়ক, কারণ তারা সোলারাইজড উভয় সংস্করণ অন্তর্ভুক্ত করে।
অন্যটিতে স্যুইচ করতে প্রতিটি প্রোফাইলে একটি কীবোর্ড শর্টকাট যোগ করুন (আলোর জন্য কালো স্যুইচগুলি, অন্ধকারের আলোর স্যুইচগুলি)। আমি উভয় জন্য একই শর্টকাট ব্যবহার, তাই এটি শুধু তাদের মধ্যে toggles। আপনি যদি চান তবে বিভিন্ন শর্টকাটগুলি ব্যবহার করতে পারেন, আপনাকে পরবর্তী পর্যায়ে একটি ছোট সংশোধন করতে হবে।
যদি আপনি glyphs সঙ্গে পরিচিত না, যে নিয়ন্ত্রণ - পছন্দ - পরিবর্তন - গুলি । কিছুটা আলাদা করার জন্য অনুভব করুন, তবে মনে রাখবেন, আমাদের পরে এটি দরকার হবে। এবং আমি কেবল এখানে Solarized Dark দেখছি, কিন্তু এটি সেট আপ করতে ভুলবেন না উভয় প্রোফাইলের।
নিজেকে কিছু tmux রঙ স্কিম পান। আমি থেকে ব্যবহৃত এই সংগ্রহস্থল গিথুব আমি আপনার কম্পিউটারে এটির অবস্থানটি উল্লেখ করব ~/tmux-colors-solarized।
ইনস্টল করুন ভিম জন্য Solarized আপনার পছন্দের পদ্ধতি মাধ্যমে। যেহেতু আমরা iTerm2 প্রোফাইলে 16 টি ANSI রঙ সোলারাইজড মানগুলিতে সেট করেছি, তাই আমরা এটি ব্যবহার করতে পারি ডিগ্রিযুক্ত 256 রঙ সংস্করণের পরিবর্তে স্ট্যান্ডার্ড সোলারাইজড কালার স্কিম ।
আপনার একটি ফাংশন যোগ করুন .vimrc, এবং বিকল্পভাবে একটি কমান্ড:
function! Solar_swap()
if &background ==? 'dark'
set background=light
execute "silent !tmux source-file " . shellescape(expand('~/tmux-colors-solarized/tmuxcolors-light.conf'))
else
set background=dark
execute "silent !tmux source-file " . shellescape(expand('~/tmux-colors-solarized/tmuxcolors-dark.conf'))
endif
silent !osascript -e 'tell app "System Events" to keystroke "s" using {shift down, option down, control down}'
endfunction
command! SolarSwap call Solar_swap()
লাইন-দ্বারা-লাইন ... ISH ব্যাখ্যা:
function! Solar_swap()
একটি সংজ্ঞা function নামে Solar_swap যে কোন পরামিতি লাগে ()। দ্য ! শেষে function যদি আপনি আপনার Sourcing শেষ পর্যন্ত, একই নাম একটি বিদ্যমান ফাংশন চুপি চুপি চুপি চুপ করে তোলে .vimrc আবার।
if &background ==? 'dark'
ভিম এর পটভূমি বর্তমানে অন্ধকার যদি সহজ চেক। ==? একটি কেস অসংবেদী তুলনা করে। দ্য & একটি সেটিং ব্যবহার করার জন্য প্রয়োজনীয় (যেমন background ) একটি অভিব্যক্তি।
set background=light
শুধু হালকা ভিম এর পটভূমি সেটিং।
execute "silent !tmux source-file " . shellescape(expand('~/tmux-colors-solarized/tmuxcolors-light.conf'))
execute একটি প্রাক হিসাবে নিম্নলিখিত স্ট্রিং (যেমন। : ) কমান্ড। silent প্রেস করার থেকে আমাদের সংরক্ষণ করে প্রত্যাবর্তন প্রত্যেকবার. ! এই ক্ষেত্রে, বাহ্যিক (ভিম) কমান্ড চালায় tmux source-file [path]। দ্য . কমান্ড স্ট্রিং বাকি প্রসারিত, পালানো পথ concatenates।
else
set background=dark
execute "silent !tmux source-file " . shellescape(expand('~/tmux-colors-solarized/tmuxcolors-dark.conf'))
endif
এই খণ্ড মূলত উপরে লাইন মাত্র হালকা টু ডার্ক সংস্করণ।
silent !osascript -e 'tell app "System Events" to keystroke "s" using {shift down, option down, control down}'
silent ! আগে হিসাবে একই। osascript আমাদের জন্য কিছু অ্যাপলস্ক্রিপ্ট চালানো হবে। -e একটি স্ক্রিপ্ট এক লাইন হিসাবে নিম্নলিখিত যুক্তি চালানো মানে। আমরা যে লাইনটি চালাচ্ছি তা হল পদক্ষেপটি 2 থেকে সক্রিয় অ্যাপ্লিকেশান থেকে যে কীবোর্ড শর্টকাট পাঠানো, যা অপারেটিং সিস্টেমটি সংশ্লিষ্ট হওয়া উচিত, iTerm2 হতে হবে। 1 আপনি শর্টকাট আপনার পছন্দ মাপসই লাইন সংশোধন করার প্রয়োজন হতে পারে। মনে রাখবেন যে যদি আপনার iTerm2 এ স্যুইচ করার জন্য দুটি আলাদা শর্টকাট থাকে তবে আপনাকে এই লাইনটিতে সরাতে হবে if এর শাখা, এবং মেলে keystrokes পরিবর্তন।
endfunction
command! SolarSwap call Solar_swap()
এবং অবশেষে, আমরা ফাংশন বন্ধ এবং একটি সংজ্ঞায়িত command নামক SolarSwap, যা আমরা ঠিক করেছি ফাংশন কল। ! নীরবভাবে একই নামের কোনো বিদ্যমান কমান্ড প্রতিস্থাপন।
এখন, ভীম থেকে, শুধু চালান :SolarSwap এবং ভিম, টিএমইক্স, এবং আইটিআরএম 2 সোলারাইজড লাইট এবং ডার্কের মধ্যে টগল হওয়া উচিত। আপনি, অবশ্যই, আপনার একটি ম্যাপিং যোগ করতে পারেন .vimrc এমনকি toggling করতে সহজ।
1 iTerm2 একটি সঠিক অ্যাপলস্ক্রিপ্ট API আছে তার নিজের, তবে, আমি বর্তমান ট্যাবের প্রোফাইলে সরাসরি পরিবর্তন করার কোনো উপায় সনাক্ত করতে পারিনি। তৈরি করার মাত্র উপায় নতুন ট্যাব, উইন্ডো, বা একটি নির্দিষ্ট প্রোফাইলের সাথে বিভক্ত, অথবা বর্তমান সেশনের প্রোফাইলের (শুধুমাত্র পঠনযোগ্য) নাম পান। সুতরাং কীবোর্ড শর্টকাট সেট আপ এবং প্রোফাইল ব্যবহার করতে তাদের ব্যবহার করে গোলাকার পথ।