টার্মিনাল, ভিম এবং tmux সামনে গাঢ় রঙে এক কমান্ড দিয়ে আলোচনার জন্য


6

আমি ব্যাবহার করছি zsh, tmux এবং ভিম এবং আমি জানতে চাই যে টার্মিনাল, ভিম, ভিম-এয়ারলাইন এবং টিএমইক্স স্ট্যাটাস লাইনের মধ্যে একমাত্র কমান্ডের মাধ্যমে সৌরভিত্তিক অন্ধকার / আলোতে কীভাবে স্যুইচ করা যায়।


আমি চাই ভালবাসা নিজেকে এই সমস্যার একটি ভাল সমাধান। একটি অনুদান যোগ করা।
— Nathan Long

কোন অপারেটিং সিস্টেম এবং কোন টার্মিনাল?
— 8bittree

এখন যে ধরনের উপহার আমি দেখতে চাই !!
— Pimp Juice IT

আমি MacOS এ iTerm2 ব্যবহার করছি।
— Nathan Long

ওহ, এবং আর্টুরোর ডটফিলস লিঙ্কের উপর ভিত্তি করে, তারা iTerm2 ব্যবহার করছেন। যে জিনিস একটু সহজ করতে হবে, আমি মনে করি।
— 8bittree

উত্তর:


3

আমি নিজেকে এই সমস্যা সঙ্গে সংগ্রাম করছি। আমি একটি অসিদ্ধ, হ্যাকি আধা-সমাধান নিয়ে এসেছি, কিন্তু আমি যা সংগ্রহ করেছি তা থেকে, টার্মিনাল রংগুলিকে টেমপ্লেট করা ঠিক একটি তুচ্ছ সমস্যা নয়।

আমি যা পেয়েছি তা হল যে টিএমএক্স এবং ভিম উভয় আপনার টার্মিনাল রঙের স্কিম (কালো, লাল, সবুজ, হলুদ, নীল, ম্যাজেন্টা, সায়ান, সাদা এবং তাদের সমস্ত 'উজ্জ্বল' রূপগুলি) এ সংজ্ঞায়িত 16 ANSI রঙের মান ধার করে। যদি আপনার মধ্যে আলো টার্মিনাল রঙ প্রকল্প, আপনি ANSI কালো সংজ্ঞা সংজ্ঞা বিপর্যস্ত & amp; সাদা ( যেমন, কালো / উজ্জ্বল ব্ল্যাককে হালকা ব্যাকগ্রাউন্ড রং এবং সাদা / উজ্জ্বল সাদা কালো রঙের মতো উজ্জ্বল করুন), টিএমস এবং ভিম মামলা অনুসরণ করবে। যতক্ষণ আপনি শুধুমাত্র একক রঙের আলোতে আলোর / গাঢ় রূপগুলি ব্যবহার করছেন, ততক্ষণ এটি স্থিরভাবে কাজ করা উচিত।

enter image description here

আপনি এই স্ক্রিনশটটিতে দেখতে পারেন, এটি নিখুঁত নয় (সামনে টার্মিনাল, পিছনে ম্যাকভিম রয়েছে - এয়ারলাইন্স পাঠ্যের পার্থক্যগুলি নোট করুন, পাশাপাশি মাঝখানে কালোের অবৈধ ব্লকটি, যা অন্ধকারে হালকা লেখা বলে মনে করা হয় পটভূমি), তবে এটি কোনও ভিআইএম / টিএমক্স / ভিআইএম-এয়ারলাইন্স সেটিংস স্পর্শ না করে 99% উপায় পায়।

enter image description here


2

আমি আইটিআর 2, টিএমইউক্স এবং ভিমের জন্য হালকা এবং অন্ধকারের মধ্যে সৌরজগতের সাথে একত্রিত করার পদ্ধতিটি খুঁজে পেয়েছি, ভিম থেকে একক কমান্ড দিয়ে:

  1. ITerm2 এর পছন্দগুলির মধ্যে দুটি প্রোফাইল সেট করুন, সোলারাইজড ডার্ক কালার স্কিম এবং সোলারাইজড লাইট কালার স্কিম সহ এক। এখানে রঙের প্রিসেটগুলি খুবই সহায়ক, কারণ তারা সোলারাইজড উভয় সংস্করণ অন্তর্ভুক্ত করে।

    iterm solarized profiles

  2. অন্যটিতে স্যুইচ করতে প্রতিটি প্রোফাইলে একটি কীবোর্ড শর্টকাট যোগ করুন (আলোর জন্য কালো স্যুইচগুলি, অন্ধকারের আলোর স্যুইচগুলি)। আমি উভয় জন্য একই শর্টকাট ব্যবহার, তাই এটি শুধু তাদের মধ্যে toggles। আপনি যদি চান তবে বিভিন্ন শর্টকাটগুলি ব্যবহার করতে পারেন, আপনাকে পরবর্তী পর্যায়ে একটি ছোট সংশোধন করতে হবে।

    iterm keyboard shortcut

    যদি আপনি glyphs সঙ্গে পরিচিত না, যে নিয়ন্ত্রণ - পছন্দ - পরিবর্তন - গুলি । কিছুটা আলাদা করার জন্য অনুভব করুন, তবে মনে রাখবেন, আমাদের পরে এটি দরকার হবে। এবং আমি কেবল এখানে Solarized Dark দেখছি, কিন্তু এটি সেট আপ করতে ভুলবেন না উভয় প্রোফাইলের।

  3. নিজেকে কিছু tmux রঙ স্কিম পান। আমি থেকে ব্যবহৃত এই সংগ্রহস্থল গিথুব আমি আপনার কম্পিউটারে এটির অবস্থানটি উল্লেখ করব ~/tmux-colors-solarized।

  4. ইনস্টল করুন ভিম জন্য Solarized আপনার পছন্দের পদ্ধতি মাধ্যমে। যেহেতু আমরা iTerm2 প্রোফাইলে 16 টি ANSI রঙ সোলারাইজড মানগুলিতে সেট করেছি, তাই আমরা এটি ব্যবহার করতে পারি ডিগ্রিযুক্ত 256 রঙ সংস্করণের পরিবর্তে স্ট্যান্ডার্ড সোলারাইজড কালার স্কিম ।

  5. আপনার একটি ফাংশন যোগ করুন .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 আছে তার নিজের, তবে, আমি বর্তমান ট্যাবের প্রোফাইলে সরাসরি পরিবর্তন করার কোনো উপায় সনাক্ত করতে পারিনি। তৈরি করার মাত্র উপায় নতুন ট্যাব, উইন্ডো, বা একটি নির্দিষ্ট প্রোফাইলের সাথে বিভক্ত, অথবা বর্তমান সেশনের প্রোফাইলের (শুধুমাত্র পঠনযোগ্য) নাম পান। সুতরাং কীবোর্ড শর্টকাট সেট আপ এবং প্রোফাইল ব্যবহার করতে তাদের ব্যবহার করে গোলাকার পথ।


কি দারুন! আপনি এই কাজ অনেক কাজ করেছেন, এবং এটা ঠিক মনে হচ্ছে। ঠিক আছে যদি আমার বামে ভিম এবং টিমিনের ডানদিকের টার্মিনাল থাকে তবে এটি টার্মিনালের রং পরিবর্তন করে না। যে কাজ করার আশা করা হয়? (আমি কিছু মিস করলে পুনরায় চেক করতে যাচ্ছি।)
— Nathan Long

দুঃখিত - যখন আমি বলেছিলাম "ডানদিকে একটি টার্মিনাল" আমি "zsh শেল অধিবেশন" বলতাম।
— Nathan Long

মনে হচ্ছে যে iTerm2 প্রোফাইল পরিবর্তন আমার সেটআপে zsh প্রভাবিত করে না।
— Nathan Long

আমি এই কাজ বেশ অর্জিত না, কিন্তু আমি আপনাকে পুরস্কার প্রদান করছি। এই সত্যিই বন্ধ এবং / অথবা একটি সমাধান আমার উপায় নির্দেশ করবে বলে মনে হয়; আমি পুঙ্খানুপুঙ্খভাবে সমস্যা সমাধানের জন্য এখনো সময় নেন নি। পরে আরো প্রশ্ন জিজ্ঞাসা করতে পারেন।
— Nathan Long

@ নাথনলং ধন্যবাদ! আমি কিভাবে zsh থিম পরিবর্তন সম্পর্কে যায় সম্পূর্ণরূপে নিশ্চিত নই। আমার ধারনা অনুরোধ রিসেট করা হবে। Zsh এর সমস্ত ক্ষেত্রে পরিবর্তন করার জন্য, আপনি tmux উইন্ডোজ বা tmux এর সন্তানের প্রক্রিয়াগুলির মাধ্যমে পুনরাবৃত্তি করে এবং কোনও zsh ইনস্ট্যান্সগুলিতে পাঠ্য পাঠানোর মাধ্যমে কিছু করতে সক্ষম হবেন তবে আমি কীভাবে আরও সঠিকভাবে দেখতে চাই এবং আরো কিছু গবেষণা এবং পরীক্ষা করতে হবে যে, অথবা যদি এটা এমনকি সম্ভব।
— 8bittree
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.