পরিবেশ:
- ফেডোরা 25 (4.9.12-200.fc25.x86_64)
- জিনোম টার্মিনাল 3.22.1 ভিটিই সংস্করণ 0.46.1 + জিএনউটিএলএস ব্যবহার করে
- ভিআইএম - ভি আইএমপ্রোভ 8.0 (2016 সেপ্টেম্বর 12, সংকলিত ফেব্রুয়ারী 22 2017 16:26:11)
- tmux 2.2
আমি সম্প্রতি tmux ব্যবহার শুরু করেছি এবং পর্যবেক্ষণ করেছি যে ভিএম এর মধ্যে রঙগুলি পরিবর্তন হয় আমি টিএমউজের ভিতরে বা বাইরে চালাচ্ছি তার উপর নির্ভর করে change নীচে একটি গিট ডিফ দেখার সময় ভিমের বাইরে (বাম) এবং টিএমউক্সের ভিতরে (ডানদিকে) স্ক্রিনশট রয়েছে:
আমার TERM
পরিবর্তনশীল
- Tmux এর বাইরে:
xterm-256color
- ভিতরে tmux:
screen-256color
ভিম এই টার্মিনাল প্রকারের প্রত্যাশিত হিসাবে রিপোর্ট করেছেন (মাধ্যমে :set term?
):
- Tmux এর বাইরে:
term=xterm-256color
- ভিতরে tmux:
term=screen-256color
উভয় দৃষ্টান্ত 256-কালার মোডে (এর মাধ্যমে :set t_Co?
) চলছে ভিমও জানায় :
- Tmux এর বাইরে:
t_Co=256
- ভিতরে tmux:
t_Co=256
Tmux- এর 256 -রঙ মোডে চালানোর জন্য ভিমকে পাওয়ার বিষয়ে অনেকগুলি একই রকম প্রশ্ন রয়েছে (আমি যে উত্তরটি পেয়েছি তার সেরা উত্তরটি এখানে রয়েছে ) তবে আমি মনে করি না যে উপরের তথ্যটি দেওয়া আমার সমস্যা।
আমি যদি টার্মিনাল টাইপের সাথে ভিম চালাই তবে tmux এর বাইরে সমস্যার নকল করতে পারি screen-256color
:
$ TERM=screen-256color vim
করে নির্মিত হয় তাই আমাকে সেখানে কেবল মধ্যে কিছু পার্থক্য বিশ্বাস xterm-256color
এবং screen-256color
যে রঙের পার্থক্য ঘটায় টার্মিনাল ক্ষমতা। শিরোনামে উত্থাপিত প্রশ্নটি নিয়ে আসে যা: বিশেষত টার্মিনাল সক্ষমতায় ভিম রঙগুলি আলাদা হওয়ার কারণ কী? আমি :set termcap
tmux এর ভিতরে এবং বাইরে চলার মধ্যে পার্থক্য দেখতে পাচ্ছি , তবে আমি কৌতূহলবশত যা বাস্তবে আচরণের পার্থক্যের কারণ হয়ে যায়।
পূর্ববর্তী প্রশ্নের তুলনায় স্বতন্ত্র, tmux এর ভিতরে বা বাইরে চলার সময় কি ভিম রঙগুলি সামঞ্জস্য হতে পারে? কিছু জিনিস আমি চেষ্টা করেছি এর মধ্যে রয়েছে:
- স্পষ্টভাবে এ ডিফল্ট টার্মিনাল tmux ব্যবহারসমূহ সেটিং
~/.tmux.conf
বিভিন্ন মান (tmux পরামর্শে বিরুদ্ধে কিছু প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী ):
সেট -g ডিফল্ট-টার্মিনাল "স্ক্রিন-256 রঙ" সেট -জি ডিফল্ট-টার্মিনাল "xterm-256 রঙ" সেট -জি ডিফল্ট-টার্মিনাল "স্ক্রিন.এক্সটার্ম -২66 রঙ" সেট -জি ডিফল্ট-টার্মিনাল "tmux-256 রঙ"
- Tmux ব্যবহার করে শুরু করা হচ্ছে
tmux -2
।
সমস্ত ক্ষেত্রে, ভিম tmux এর অভ্যন্তরে বিভিন্ন বর্ণ প্রদর্শন করতে থাকে।
xterm-256color
সংস্করণে 256-রঙের পালানোর সিকোয়েন্সগুলি দেখতে পাই (ফাইলটিতে "38; 5;" অনুসন্ধান করুন), কিন্তু এটিতে পারি না screen-256color
। যেমন যেখানেই আছে একটি \e[38;5;81m
মধ্যে xterm-256color
(রঙ # 256-রঙ প্যালেট 81, একটি মধ্যম নীল ছায়া), screen-256color
ধারণ \e[34m
পরিবর্তে (8-রঙ প্যালেট মান নীল)। সুতরাং মূল প্রশ্নটি কেন ভিএম 256 রঙের প্যালেটটি ব্যবহার করে না TERM=screen-256color
।
xterm-256color
সংস্করণটি স্ক্রিনটি দু'বার মুদ্রণ করবে বলে মনে হচ্ছে প্রথমে উত্তরাধিকারের বর্ণগুলি এবং তারপরে 256 রঙের প্যালেট দিয়ে। যেমন ফাইলে "এফ 1" এর জন্য অনুসন্ধান, আপনি দুই ম্যাচে পাবেন xterm-256color
, প্রথম \e[34m
রঙ, দ্বিতীয় \e[38;5;81m
। আমি জানি না এখানে কী চলছে।
set -g default-terminal "screen.xterm-256color"
মধ্যে ~/.tmux.conf
এবং tmux মধ্যে কনফিগ রিলোড (<? Cs>: উৎস ফাইল ~ / .tmux.conf) আমার (হাইলাইট ইস্যু) কাজ করেন। thx
script
, শুরু করতেvim
, ছেড়ে দিতেvim
এবং তারscript
শেলটি ছেড়ে দিতে এবং ফলস্বরূপtypescript
ফাইলটি সংযুক্ত করতে পারেন ? তারপরে একই পদক্ষেপেরTERM=screen-256color vim
পরিবর্তে পুনরাবৃত্তি করুন ।