it-swarm-eu.dev

Získání 256 barev pro práci v tmuxu

Mám 256 barev, které fungují dobře v konsole,. Myslel jsem, že bych zkusil tmux, protože na rozdíl od obrazovky se zdá, že podporuje režim vi. Zjistil jsem však, že se zobrazují barvy mého dotazu, což je pravděpodobně způsobeno tím, že mám výzvu 256 barev. Co musím udělat, abych tmux rozpoznal všech 256 barev?

186
xenoterracide

Tmux FAQ výslovně nedoporučuje nastavit TERM na nic jiného než obrazovku nebo obrazovku-256color ve vašem souboru Shell init, takže to nedělejte!

Zde je to, co používám:

~$ which tmux
tmux: aliased to TERM=xterm-256color tmux

a v mém .tmux.conf:

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

Aliasing tmux na "tmux -2 "by také měl udělat trik.

271
cannedprimates

Zkuste explicitně nastavit 256 barev v bashrc nebo zshrc:

export TERM=xterm-256color

nebo

export TERM=screen-256color

Pokud máte problémy s tmuxem, který při použití nastavení termínu obrazovky správně nevymaže barvy pozadí, můžete zkusit:

export TERM=screen-256color-bce
42
redacted

Podle tmux FAQ přidejte toto do svého ~/.tmux.conf:

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

Pak přidejte tento alias pro tmux:

alias tmux='tmux -2'

Není třeba přepsat proměnnou TERM ve vašem profilu nebo při spuštění tmux.

Další informace: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

20
user1338062

Nejnovější verze ncurses se dodává s tmux-256color terminfo vstupem ( FAQ = to zmiňuje). Například výhoda použití tmux-256color oproti screen-256color je, že kurzíva je správně vykreslena (obrazovka nepodporuje kurzívu).

Takže pokud máte nejnovější balíček ncurses, bude fungovat také následující:

set -g default-terminal "tmux-256color"
13
Gabriel Parent

Pro lidi, kteří mají nejnovější tmux, .tmux.conf volba z přijaté odpovědi by měla fungovat.

Chci jen dodat, že bude pravděpodobně nutné restartovat tmux, aby se nová konfigurace projevila:

tmux kill-server && tmux

Je zajímavé, že se to nikde v odpovědích nezmiňuje a trvalo mi chvilku, než jsem na to přišel.

4
mast3r

Opravdu důležitá poznámka, pokud používáte Ubuntu starší než Bionic (18.04). Pokud běžíte tmux 2.1 nebo starší, a pravděpodobně jste, v podstatě žádná rada, kterou si přečtete online o tmuxu, nebude fungovat ... pro cokoli.

tmux -V je pro to snadný test. Pokud vidíte 2.1 nebo starší, můžete sestavit tmux ze zdroje, nebo můžete přidat neoficiální úložiště. Aktualizoval jsem svůj tmux pomocí:

Sudo add-apt-repository ppa:/hnakamur/tmux
Sudo apt update
Sudo apt upgrade

Osobně po upgradu na 2.6, 1) moje klíče fungují lépe, 2) on-line rada funguje, 3) moje barvy nejsou šílené. Velké zlepšení.

(Zde je odkaz na stránku úložiště, btw): https://launchpad.net/~hnakamur

3
zzxyz

Nemohl jsem vysvětlit, proč to funguje, ale vyřešil to problém pro mě.

~/.tmux.conf

set-option -g default-command bash
2
John Snow

Toto je moje řešení .... Upravím svůj .bashrc soubor a přidám ho

if [ "$TERM" != "xterm-256color" ]; then
      export TERM=xterm-256color
    fi

Doufejme, že to funguje ve vás

1
Wira Bhakti

Cítím vděčnost za všechny ostatní odpovědi, které mi zde poskytují rady, ale pak se zdá zbytečné upravovat globální nastavení TERM A ~/.tmux.conf.

Nakonec jsem použil alias k nastavení TERMu, jen když se chystám použít tmux. Stačí přidat tento jednodílný obal na konec vašeho ~/.bashrc (Nebo jakéhokoli konfiguračního souboru Shell, který používáte).

alias tmux='TERM=xterm-256color tmux'

A je to. Je zajímavé, že po spuštění tmux by se TERM automaticky obnovil na „obrazovku“, ale barvy stejně fungují. Takže myslím, že by tmux byl také šťastný (za to, že si nepatří do svého TERM prostředí?).

0
RayLuo

Následující řádky v ~/.tmux.conf pracoval pro mě -

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

Testováno

  • Tmux 2.7, Ubuntu 16.04,18.04
  • Tmux 2,9, CentOS
0
user3496912