J'ai besoin que je $TERMsois en xterm-256colordehors de tmux (dans un terminal "ordinaire" avec zsh), mais à l' screen-256colorinté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), TERMc'est xterm-256color, ce qui est correct. Mais quand je lance tmux, TERMc'est à nouveau xterm-256color!
Ensuite, j'ai essayé de commenter la ligne dans mon ~/.zshrc. Maintenant, quand j'ouvre le terminal, TERMc'est xterm, et quand j'exécute tmux, TERMc'est screen-256color. Il semble donc que si je mets TERMdans le .zshrc, tmux définit d'abord TERMsur screen-256color, exécute shell (qui est zsh), et zsh lit .zshrcet se réinitialise TERMsur xterm-256color.
Alors, comment faire TERMpour être xterm-256colordans un terminal "ordinaire", et screen-256colordans tmux?
TERMdans 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 xtermest 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.
xtermsi 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.