it-swarm.it

Far funzionare 256 colori in tmux

Ho 256 colori che funzionano bene in konsole,. Ho pensato di provare tmux perché, a differenza dello schermo, sembra supportare la modalità vi. Tuttavia, trovo che i colori del mio prompt vengano visualizzati e questo è molto probabile perché ho un prompt in modalità 256 colori. Cosa devo fare per ottenere tmux per riconoscere tutti i 256 colori?

186
xenoterracide

Tmux FAQ sconsiglia esplicitamente di non impostare TERM su qualcosa di diverso da screen o screen-256color nel file di shell Shell, quindi non farlo!

Ecco cosa uso:

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

e nel mio .tmux.conf:

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

Alias ​​tmux a "tmux -2 "dovrebbe anche fare il trucco.

271
cannedprimates

Prova a impostare esplicitamente 256 colori nel tuo bashrc o zshrc:

export TERM=xterm-256color

o

export TERM=screen-256color

Se si verificano problemi con tmux che non cancella correttamente i colori di sfondo quando si utilizza l'impostazione del termine dello schermo, è possibile provare:

export TERM=screen-256color-bce
42
redacted

Come da tmux FAQ , aggiungi questo al tuo ~/.tmux.conf:

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

Quindi aggiungi questo alias per tmux:

alias tmux='tmux -2'

Non è necessario sovrascrivere la variabile TERM nel profilo o quando si avvia tmux.

Ulteriori informazioni: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

20
user1338062

La versione più recente di ncurses viene fornita con una voce terminfo tmux-256color (la FAQ = menziona questo). Ad esempio, un vantaggio dell'utilizzo di tmux-256color su screen-256color è che il corsivo è visualizzato correttamente (lo schermo non supporta il corsivo).

Quindi, se hai l'ultimo pacchetto ncurses, funzionerà anche:

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

Per le persone che hanno l'ultimo tmux, il .tmux.conf L'opzione dalla risposta accettata dovrebbe funzionare.

Voglio solo aggiungere che probabilmente dovrai riavviare tmux per rendere effettiva la nuova configurazione:

tmux kill-server && tmux

È interessante notare che questo non è menzionato da nessuna parte nelle risposte e mi ci è voluto un po 'di tempo per capire.

4
mast3r

Nota davvero importante qui se stai usando Ubuntu più vecchio di Bionic (18.04). Se stai eseguendo tmux 2.1 o più vecchi, e probabilmente lo sei, praticamente nessun consiglio che leggi online su tmux funzionerà..per qualsiasi cosa.

tmux -V è un test facile per questo. Se tu vedi 2.1 o precedente, puoi creare tmux dalla fonte oppure puoi aggiungere un repository non ufficiale. Ho aggiornato il mio tmux con:

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

Personalmente, dopo l'aggiornamento a 2.6, 1) le mie chiavi funzionano meglio, 2) la consulenza online funziona davvero, 3) i miei colori non sono pazzi. Grande miglioramento.

(Ecco un link alla pagina del repository, tra l'altro): https://launchpad.net/~hnakamur

3
zzxyz

Non ho potuto spiegare perché questo funzioni, ma ha risolto il problema per me.

~/.tmux.conf

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

Questa è la mia soluzione .... Modifico il mio file .bashrc e aggiungo questo

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

Spero che funzioni nel tuo

1
Wira Bhakti

Mi sento grato per tutte le altre risposte qui che mi danno suggerimenti, ma poi sembra inutile modificare l'impostazione globale TERM E ~/.tmux.conf.

Ho finito per usare un alias per impostare il TERM solo quando sto per usare tmux. Aggiungi questo one-liner alla fine del tuo ~/.bashrc (o qualunque file di configurazione di Shell usi).

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

Questo è tutto. È interessante notare che, dopo il lancio di tmux, il TERM verrà automaticamente reimpostato su "schermo", ma i colori funzionano comunque. Quindi immagino che anche tmux sarebbe felice (per non aver rovinato il suo ambiente TERM?).

0
RayLuo

Righe seguenti in ~/.tmux.conf ha lavorato per me -

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

Testato su

  • Tmux 2.7, Ubuntu 16.04,18.04
  • Tmux 2.9, CentOS
0
user3496912