Ho bisogno che io $TERM
sia xterm-256color
fuori da tmux (nel terminale "normale" con zsh), ma screen-256color
dentro tmux.
Per prima cosa ho provato:
- aggiungi
export TERM='xterm-256color'
al mio~/.zshrc
. - aggiungi
set -g default-terminal "screen-256color"
al mio~/.tmux.conf
Ora, quando apro il terminale (diciamo, xterm), TERM
è xterm-256color
, che è corretto. Ma quando corro tmux, TERM
è di nuovo xterm-256color
!
Poi ho provato a commentare la riga nel mio ~/.zshrc
. Ora, quando apro il terminale, TERM
è xterm
, e quando eseguo tmux, lo TERM
è screen-256color
. Quindi sembra che se ho impostato TERM
in .zshrc
, tmux prima imposta TERM
su screen-256color
, esegue shell (che è zsh), e zsh legge .zshrc
e reimposta TERM
su xterm-256color
.
Quindi, come fare TERM
per essere xterm-256color
in un terminale "semplice" e screen-256color
in tmux?
TERM
in questi terminali
gnome-terminal
, probabilmente dovrebbe essere gnome-256color
... Quindi sono quelle applicazioni che devi configurare correttamente, no zsh
. La ragione per cui usano xterm
è probabilmente quella di evitare problemi quando si esegue lo sshing su macchine che non hanno le voci terminfo più specifiche. Se sai che stai solo lanciando computer con un esaustivo database terminfo, puoi e dovresti cambiarlo nelle applicazioni stesse.
xterm
se xterm-256color non è supportato, anche se sarebbe ancora meglio aggiungere quelle voci nel nostro proprio ~ / .terminfo database).
.zshrc
. Non è il modo corretto.