J'ai besoin que je $TERM
sois en xterm-256color
dehors de tmux (dans un terminal "ordinaire" avec zsh), mais à l' screen-256color
intérieur de tmux.
J'ai d'abord essayé:
- ajouter
export TERM='xterm-256color'
à mon~/.zshrc
. - ajouter
set -g default-terminal "screen-256color"
à mon~/.tmux.conf
Maintenant, quand j'ouvre le terminal (disons, xterm), TERM
c'est xterm-256color
, ce qui est correct. Mais quand je lance tmux, TERM
c'est à nouveau xterm-256color
!
Ensuite, j'ai essayé de commenter la ligne dans mon ~/.zshrc
. Maintenant, quand j'ouvre le terminal, TERM
c'est xterm
, et quand j'exécute tmux, TERM
c'est screen-256color
. Il semble donc que si je mets TERM
dans le .zshrc
, tmux définit d'abord TERM
sur screen-256color
, exécute shell (qui est zsh), et zsh lit .zshrc
et se réinitialise TERM
sur xterm-256color
.
Alors, comment faire TERM
pour être xterm-256color
dans un terminal "ordinaire", et screen-256color
dans tmux?
TERM
dans ces terminaux
gnome-terminal
, cela devrait probablement être gnome-256color
... Ce sont donc ces applications que vous devez configurer correctement, non zsh
. La raison pour laquelle ils les utilisent xterm
est probablement pour éviter les problèmes lors de la lecture sur des machines qui n'ont pas les entrées terminfo plus spécifiques. Si vous savez que vous utilisez uniquement des machines avec une base de données terminfo exhaustive, vous pouvez et devez changer cela dans les applications elles-mêmes.
xterm
si xterm-256color n'est pas pris en charge, bien qu'il serait encore mieux d'ajouter ces entrées dans notre propre base de données ~ / .terminfo).
.zshrc
. Ce n'est pas la bonne façon.