tmux মোডে ভিআইএম রঙিনচেম হারাবেন


228

আমি ইটর্ম 2 চালাচ্ছি এবং আমি যখন টিএমউक्स মোডে থাকি তখন আমি ভিমে যে রঙের চামড়াটি রেখেছি তা প্রদর্শিত হয় না। কেবলমাত্র বর্ণের স্কিমটি আমি এটির মধ্যে সেট করেছি। যদি আমি শেল থেকে ভিএম চালনা করি তবে রঙচেমি সঠিক প্রদর্শিত হয় - এটি কেবলমাত্র যখন আমি টিএমউक्स মোডে থাকি।

আমি :colorscheme molokaiযখন ভিমে থাকি তখন চেষ্টা করেছি (নীচের স্ক্রিনশটটি দেখুন) এবং এটি পরিবর্তন হয় না - আবার, এটিরર્મ 2 এর জন্য ডিফল্ট রঙের শিট রয়ে গেছে।

আমি কি ইটার্ম বা tmux.conf এ কিছু সেটিং মিস করছি? আমার ডটফ্লাস এখানে গিথুব উপর আছে।


31
কি করলে কি হয় $ tmux -2?
রোমেনেল

4
এটি সম্পূর্ণ ছিল। -2 পতাকা কী?
ট্রাইস্টেন করুন

11
এটি tmux কে 256 রঙের সাথে কাজ করতে বাধ্য করে।
রোমেনেল

উত্তর:


251

আমারও একই সমস্যা ছিল। শুধু পার্থক্য আমি ব্যবহার করছি ছিল solarizeবরং তারপর molokai

সমস্যাটি সমাধানের জন্য, আমি এতে একটি উপনাম স্থাপন করেছি ~/.bashrc:

alias tmux="TERM=screen-256color-bce tmux"

এবং এতে default-terminalবিকল্পটি সেট আপ করুন ~/.tmux.conf:

set -g default-terminal "xterm"

শেষ অবধি, $ source ~/.bashrcনতুন উপনাম লোড করার জন্য করুন।


20
আমি এর পরিবর্তে এটি ব্যবহার করি tmux -2কারণ এটি আরও ভারবস হয়।
থিমেরা

97
ব্যক্তিগতভাবে আমাকে ওবু এক্স এর set -g default-terminal "screen-256color"পরিবর্তে কাজ করতে xtermহয়েছিল, একটি উবুন্টু বাক্সে ছড়িয়ে দেওয়া। আমি এই সাইটটি উল্লেখ করেছি: rhnh.net1
//

7
এখানে উপনামটি কোনও অর্থবোধ করে না: এটি টিএমউক্সের ভান করে যে এটি পর্দা বা টিএমউক্সের ভিতরে চলছে, যা এর আগে কখনও হয় না। টিএমউক্সকে ধরে নিতে বলতে যে এটি যে টার্মিনালটিতে চলছে তা 256 টি রঙ সমর্থন করে, চালান tmux -2বা tmux -2 attach(আপনি যখন টার্মিনালের সাথে একটি নতুন বা বিদ্যমান সেশনটি সংযুক্ত করবেন তখন tmux সিদ্ধান্ত নেয়)। একটি বুদ্ধিমান ওরফে হবে alias tmux='tmux -2'। আরও দেখুন tmux শব্দটি এবং 256 রং সমর্থন
গিলেজ 'SO- স্টপ হচ্ছে মন্দ'

3
আমি অন্য কিছু উত্তরে পড়েছি (রেফারেন্সটি খুঁজে পাইনি) যে টিআরএমকে জোর করা ভাল অভ্যাস নয়, যদিও আমি নিশ্চিতভাবে জানি না। যেহেতু tmux -2বিকল্পটি set -g default-terminal "screen-256color"আমার জন্য কাজ করেছে, এটি আমার পছন্দ হবে। যা হোক ধন্যবাদ!
মার্সেলোক্রোক

5
যদি .tmux.confসেটিংটি কার্যকর হচ্ছে বলে মনে হয় না, সমস্ত টিএমএক্স প্রক্রিয়া বন্ধ করে পুনরায় আরম্ভ করুন। আপনি set -g default-terminal "screen-256color"কোনও উপন্যাস সেট না করেই করতে পারেন .bashrc। আমি মনে করি লোকেরা পরিবেশগত পরিবর্তনশীল ওরফে মত কাজগুলি করছে কারণ তারা কনফিগার করার পরে সমস্ত tmux প্রক্রিয়া বন্ধ করে দিচ্ছে না .tmux.conf
শেভ

74

উপরে @romainl উল্লিখিত হিসাবে, পতাকাটি যুক্ত করে আমার tmux কে 256 টি রঙ ব্যবহার করতে বাধ্য করা প্রয়োজন -2:

$ tmux -2

আমি alias tmux='tmux -2'আমার ব্যাশ_ প্রোফাইলে যুক্ত করেছি, তাই, আমি ভুলব না :)


প্রকৃতপক্ষে, এটি মোটেও বাধ্যতামূলক নয়: আমি ব্যবহার করি না -2তবে আমার 256 টি রঙ ভিএম-তে tmux এ কাজ করছে।
রোমেনেল

@romainl এটি প্রয়োজনীয় যদি tmux আপনার টার্মিনালটিকে 256 রঙের হিসাবে সনাক্ত না করে, যা মোটামুটি সাধারণ।
গিলস 21:34-

1
@Gilles, তেজ শনাক্ত করতে পারছে না টার্মিনাল সমর্থন 256 রং কারণ tmux ডিফল্ট যে TERMহয় screen। ভিম তার পরিবেশ থেকে প্রাপ্ত তথ্য থেকে রঙ-সম্পর্কিত কোনও পরিবর্তন করে না এবং -2পরিবর্তন TERMকরে না: :echo &t_Coএখনও ফেরত দেয় 8। এটি প্রদত্ত তথ্য সহ, ভিম সঠিক জিনিসটি করে। শুধুমাত্র জিনিস সেট করা আবশ্যক 1. হয় আপনার ই-মেইল ক্লায়েন্ট এর TERMকাছে xterm-256colorবা মত একটি সমতুল্য মান urxvt-unicode-256colorএবং 2. tmux ডিফল্ট TERMসঙ্গে set -g default-terminal "screen-256color"
রোমেনেল

@romainl বেশিরভাগ পরিবেশ TERMসেট করেছে xterm, xterm-256colorতাই নয় , চালানোর প্রয়োজন tmux -2(বা TERM=xterm-256color tmux, বা টার্মক্যাপ বা একই জিনিস সম্পাদনের অন্যান্য উপায়গুলি পরিবর্তন করা)।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন' 11:30

1
@ গিলিস, সমস্যাটি হ'ল -2 256 রঙ সমর্থন সম্পর্কে ভিমের আচরণের উপর প্রভাব ফেলে এমন কোনও কিছুই সম্পাদন করে না কারণ ভিমের কাছে গুরুত্বপূর্ণ বিষয়টি কেবল আপনার TERM এবং এটি আপনার শৃঙ্খলের শেষে সেট করা হবে: আপনার টার্মিনাল এমুলেটর যদি আপনি 5 টি হোস্টের মাধ্যমে এসএসএইচ করেন এবং আপনার টার্মিনালটি সঠিকভাবে সেট করা থাকে তবে 5 তম হোস্টে চালু হওয়া ভিম আপনার 256 টিআরএল এর টিআরএম দেখতে পাবে এবং তদনুযায়ী কাজ করবে। আপনি যদি চেইন -2 এর যে কোনও স্থানে tmux ব্যবহার করেন তবে ভিমের আচরণে শূন্য প্রভাব ফেলবে কারণ এটির যা দেখেছে তা টিমাক্সের ডিফল্ট টিআরএম: স্ক্রিন, -২ বা না হওয়ার কারণে এটি 8 টির মধ্যে সীমাবদ্ধ।
রোমেনেল

72

আমি উপরের সমস্ত সমাধান চেষ্টা করেছিলাম এবং শেষ পর্যন্ত আমার জন্য যা কাজ করেছে তা নিম্নলিখিত লাইনগুলিতে রাখছে .tmux.conf:

set -g default-terminal "xterm-256color"

আমি এসএসএইচ এর মাধ্যমে টিএমউক্স ব্যবহার করছি এবং আমি এক্সটার্ম ব্যবহার না করেও কেবল নিয়মিত এসএসএইচ করে আমার পক্ষে এটি কাজ করেছিল।
armen.shimoon

আমি এটি এসএস-এর মাধ্যমে ব্যবহার করছিলাম না এবং এটিই ছিল আমার পক্ষে একমাত্র উত্তর worked ওএসএক্স 10.9.5 এ স্থানীয় আইটর্ম সেশন session
শেভ

এটি আমার জন্য কাজ করে (ম্যাকোস মোজাভে + আইটার্ম 2 / আলাক্রিটি), ধন্যবাদ
অ্যাড্রিয়ান ম্যাগডাস 21'19

31

আমি কেবল আবিষ্কার করেছি যে কেন আমার অনেক বিভ্রান্তি হচ্ছে। আমি এখানে অন্যদের মতো ডিফল্ট-টার্মিনাল সেটিংসটি কার্যকর হওয়ার জন্য খুব কঠিন সময় পারছিলাম। আমার মনে আছে যে ব্যাকগ্রাউন্ডে আমার একটি টিএমউक्स সেশন ছিল। আমি আমার সেশনটি পুনরায় সংযুক্ত করেছি, আমার প্রক্রিয়াগুলি বন্ধ করে দিয়েছি এবং সমস্ত tmux প্রক্রিয়া বন্ধ করেছি। পরের বার যখন আমি tmux পুনরায় চালু করলাম তখন ডিফল্ট-টার্মিনাল সেটিংস .tmux.confকার্যকর হতে শুরু করে। আমি জানি না অন্যরাও এটি করছে কিনা তবে আমি .tmux.confফাইলটি পরিবর্তনের আগে সমস্ত tmux প্রক্রিয়া বন্ধ করার পরামর্শ দিই ।

আমি আমার স্থানীয় মেশিনে কাজ করতে আমার সেটআপ পেয়েছি (আইটিআরএম 10.9.5 সহ আইটিআরএম 2 সহ) .bashrcবা তে কোনও পরিবর্তন ছাড়াই .bash_profile। সকল আমি লাইন যোগ ছিল set -g default-terminal "xterm-256color"থেকে ~/.tmux.confএবং সমস্ত tmux প্রসেস পুনরায় আরম্ভ।

কোনও পরিবর্তন ছাড়াই ঠিক একইভাবে কাজ করতে আমার দূরবর্তী সেটআপটি (উবুন্টু থেকে 14.04) পেয়েছি .bashrc। আমি কেবল যোগ set -g default-terminal "xterm-256color"করতে ~/.tmux.confআমার দূরবর্তী মেশিনে এবং সব দূরবর্তী tmux প্রসেস পুনরায় আরম্ভ।

echo $TERMটিএমক্স সেশনের মধ্যে থেকে ভিম কী দেখছে তা পরীক্ষা করতে পারেন । screenযতক্ষণ না আমি সমস্ত tmux প্রক্রিয়া পুনরায় শুরু করি, ততক্ষণ পর্যন্ত এটি মান হিসাবে বলে চলেছে, এটি xterm-256colorপ্রত্যাশার প্রতিফলিত হয়েছে।

আশা করি এইটি কাজ করবে.


1
আমি এই পোস্টের পরে আরও বেশ কয়েকটি অপারেটিং সিস্টেমে নিশ্চিত হয়েছি, সমস্ত প্রক্রিয়া বন্ধ করে এবং default-terminalবিকল্পটি সেট করে .tmux.confএখন পর্যন্ত 100% সময় কাজ করেছে।
শেভ

2
আমিও! এই উত্তরটি যদি আরও এগিয়ে নেওয়া হত তবে আমি এই বিষয়ে কম সময় ব্যয় করতে পারতাম।
সিগফ্রিড

21

সুতরাং এটি বাসি পক্ষের কিছুটা হলেও, তবে এটি উল্লেখযোগ্য হতে পারে যে পর্দা ব্যবহার করা প্রায়শই হোম এবং শেষ কীগুলি ভঙ্গ করে। ব্যবহার

export TERM="xterm-256color"

এগুলির কার্যকারিতা রাখা উচিত এবং রঙের স্কিম (বা পাওয়ারলাইন) কে সূক্ষ্মভাবে কাজ করার অনুমতি দেওয়া উচিত।


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

tmux 1.9a, OSX 10.9.2, iTerm2 বিল্ড 1.0.0.201303022 রফতানি TERM = .বাশ_প্রোফাইলে "xterm-256color", তারপরে এটিটার্মকে xterm-256-color সেট করে আমার জন্য কাজ করেছে। কোনও tmux কনফিগারেশন সেট করার দরকার নেই।
এজেন্টেও

14

আমার উইন্ডোতে উবুন্টুতে সাইমউইন / মিন্টির টার্মিনালটিতে টিএমউক্স সহ সঠিকভাবে প্রদর্শন করার জন্য আমার ভিএম দরকার ছিল। আমি এই মত উত্তর একত্রিত করে এটি কাজ করে।

.বাশার্কে:

alias tmux="tmux -2"

.Vimrc এ:

" use 256 colors in terminal
if !has("gui_running")
    set t_Co=256
    set term=screen-256color
endif

" fix cursor display in cygwin
if has("win32unix")
    let &t_ti.="\e[1 q"
    let &t_SI.="\e[5 q"
    let &t_EI.="\e[1 q"
    let &t_te.="\e[0 q"
endif

এই প্রশ্নের উত্তরগুলির ভিত্তিতে, এই ভিম উইকি পৃষ্ঠা এবং এই ব্লক কার্সার প্রশ্ন


পুদিনাটি নিয়ে আমার সমস্যা ছিল এবং ভিআইএম কনফিগারেশনটি এটি আমার জন্য স্থির করে। এমনকি আমি tmuxওরফে করারও দরকার পড়েনি।
ট্রিগলম্যান

@ ট্রিগোম্যান, আমার জন্যও একই, আমাকে .vimrc আপডেট করতে হবে।
মাসুদ আলম

আমি পূর্ববর্তী সমস্ত পরামর্শ চেষ্টা করেছিলাম। set t_Co=256সবেমাত্র .vimrc এ যুক্ত হয়েছে এবং এটি ঠিক করা হয়েছে। আমার কোনও tmuxউপন্যাস তৈরি করার দরকার নেই ।
মাইকে

11

আমি উপরের সমস্ত নির্দেশাবলীর চেষ্টা করেছি এবং আমি সবচেয়ে গুরুত্বপূর্ণ বিষয়টি জানতে পেরেছি যে আমার .bashrc ফাইলটিতে আমাকে নীচের লাইনটি স্পষ্টভাবে যুক্ত করতে হবে।

export TERM=screen-256color

আমি জানি না যে ওরফে tmux = "TERM = স্ক্রিন-256color-bce tmux" কেন কাজ করে না। আমি সিয়েরা 10.12.1 ব্যবহার করি।


এটিই আমার পক্ষে কাজ করেছিল। TERM এর কেবল সরল রফতানি। +1
মার্কভচেইন

10

যদি কারও 24-বিট রঙ সমর্থন প্রয়োজন:

Tmux ২.২ সংস্করণ হিসাবে 24-বিট রঙ সমর্থন করে। যদি আপনার টার্মিনাল 24-বিট রঙ সমর্থন করে, আপনার টার্মিনালটিকে টার্মিনাল-ওভাররাইড সেটিংয়ে যুক্ত করুন। উদাহরণ স্বরূপ,

set -ga terminal-overrides ",xterm-256color:Tc"

আমার পরিবেশ চেকলিস্ট:

  • ম্যাকোস সিয়েরা 10.12.3
  • iTerm2 3.0.14 (প্রতিবেদনের টার্মিনাল প্রকারটি হ'ল xterm-256color)
  • neovim 0.1.7 (যোগ করে 24-বিট রঙ সক্ষম করুন: xterm-256colorথেকে.vimrc )
  • tmux 2.3 (যোগ set -ga terminal-overrides ",xterm-256color:Tc"করুন .tmux.conf)

কোনরকম যোগ করতে অন্য আমি প্রয়োজন .bashrcবা .zshrc

আশা করি এটি সাহায্য করতে পারে।


আমার পক্ষে কাজ করা একমাত্র জিনিস। এটা ঠিক কি করে?
ভলক

6

যেহেতু গুগলে এটি প্রথম ফলাফল এবং উপরের কোনওটিই যেহেতু সাহায্য করেনি..এটি পোস্ট করা পছন্দ করেন যাতে কেউ এটির সহায়ক মনে করে

ইন .vimrc:

set background=dark
set t_Co=256

আছে HTH


এই দুটি লাইন পরীক্ষা করে দেখেছেন এবং ডাব্লুএসএল-উইন্ডোজ 10 এ তারা আমার ভিমের পক্ষে ভাল কাজ করে।
llinfeng

1
অনেক ধন্যবাদ. এটি জিনোম-টার্মিনাল সহ উবুন্টু 18-এ কাজ করেছে
রায়মুনসন

4

.Tmux.conf এ নিম্নলিখিত লাইনটি যুক্ত করা আমার জন্য ম্যাকস সিয়েরা 10.12.6 নিয়ে কাজ করেছে,

সেট -g ডিফল্ট-টার্মিনাল "স্ক্রিন-256 রঙ"


একই অবস্থা. এই সমাধানটি সন্ধান করার জন্য আপনাকে @ ওয়াফলের ধন্যবাদ!
অ্যাডাম এরিকসন

3

আপনি যদি আমার মতো একই উপায়ে নিজেকে খুঁজে পান তবে উপরের কোনওটিই কাজ করেনি .. এটি চেষ্টা করুন:

ইন .tmux.conf:

set -g default-terminal "xterm"

বাশ কনফিগারেশনে (সম্ভবত .bashrcবা .bash_profile):

alias tmux="tmux -2"

এবং তারপরে চালান:

killall tmux

এবং তারপরে tmux পুনরায় চালু করুন


3

আপনি যদি ব্যবহার করেন tmuxinatorবা mux, আপনার এগুলিতে যুক্ত করতে হবে .bashrcবা .zshrc:

alias tmux='TERM=screen-256color tmux -2'
alias tmuxinator='TERM=screen-256color tmuxinator'
alias mux='TERM=screen-256color mux'

এই বাহিনী টার্মিনালে 256-রঙ ব্যবহার করতে পারে।

তারপরে tmux, tmuxinatorএবং muxআদেশ সমস্ত কাজ করবে।


2

সঠিক রঙ সেট আপ করতে এবং উবুন্টু এবং ম্যাক উভয় ক্ষেত্রে রেন্ডারিং ইস্যু থেকে মুক্তি পাওয়ার জন্য:

এটা যাচাই কর


2

কেবল এই সমস্যার সাথে মোকাবিলা করতে হয়েছিল, এবং যদিও পূর্বে পোস্ট করা সমস্ত উত্তর সহায়ক ছিল, তারা আমার ক্ষেত্রে বিষয়টি সমাধান করেনি।

আমার নিম্নোক্ত রেখাটি সরিয়ে আমার সমস্যার সমাধান করা হয়েছিল .vimrc:

set termguicolors

যা যাইহোক অন্য নির্দেশের সাথে রিডানডেন্ট ছিল।

এখন, আমার পূর্ববর্তী আনোসারগুলিতে নিম্নলিখিত লাইনটি পাওয়া গেছে .tmux.conf:

export TERM="screen-256color"

সব সুন্দর এবং রঙিন।


2

আমি লাইনটি সরিয়েছি set termguicolors, তবে এটি কার্যকর হয় না। কাজের set notermguicolorsপরিবর্তে সেট করা হচ্ছে .vimrc


1

Tmux ম্যান পৃষ্ঠা থেকে নীচে পতাকা যুক্ত করা:

tmux -2

এই -2পতাকাটি tmux কে 256 রঙের মোডে চালিত করতে বাধ্য করে।

এটি আমার পক্ষে কাজ করে


1

আমার মধ্যে কোনও আলাদা TERMবা সেট ডিফল্ট-টার্মিনাল রফতানির চেষ্টা করার মতো ভাগ্য আমি পাইনি .tmux.conf

টিএমউক্সের মধ্যে ভিএম রঙ ঠিক করার জন্য আমার সমাধানটি এই লাইনটিকে যুক্ত করছে .tmux.conf:

set -g terminal-overrides 'xterm:colors=88'

আমি নিশ্চিত না যে কেন এই ওভাররাইডের প্রয়োজন হয়েছিল কারণ আমার TERM=xtermএবং আমার আইটির্মটি এক্সটার্মেও সেট হয়ে গেছে তবে এটি কার্যকর বলে মনে হচ্ছে।


0

আমি উবুন্টু বায়োনিক 18.04.4 LTS এবং tmux 2.6 ব্যবহার করছি। আমার একই সমস্যা রয়েছে এবং এটি কেবল .bashrc এ যুক্ত করে সমাধান করা যেতে পারে

export TERM=screen-256color

এবং অবশ্যই এটি উত্স করতে ভুলবেন না। source ~/.bashrc

অথবা আপনার টেমিনালটি পুনরায় চালু করুন

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