Saya perlu saya $TERM
berada di xterm-256color
luar tmux (di terminal "polos" dengan zsh), tetapi screen-256color
di dalam tmux.
Pertama saya mencoba:
- tambahkan
export TERM='xterm-256color'
ke~/.zshrc
. - tambahkan
set -g default-terminal "screen-256color"
ke~/.tmux.conf
Sekarang, ketika saya membuka terminal (katakanlah, xterm), TERM
adalah xterm-256color
, yang benar. Tetapi ketika saya menjalankan tmux, TERM
sekali lagi xterm-256color
!
Lalu aku mencoba mengomentari kalimat di blogku ~/.zshrc
. Sekarang, ketika saya membuka terminal, TERM
adalah xterm
, dan ketika saya menjalankan tmux, TERM
adalah screen-256color
. Jadi sepertinya jika saya atur TERM
di .zshrc
, tmux pertama-tama diset TERM
ke screen-256color
, menjalankan shell (yang merupakan zsh), dan zsh membaca .zshrc
dan mengatur ulang TERM
ke xterm-256color
.
Jadi, bagaimana membuat TERM
menjadi xterm-256color
di terminal "polos", dan screen-256color
di tmux?
TERM
di terminal ini
gnome-terminal
, itu mungkin seharusnya gnome-256color
... Jadi itu adalah aplikasi yang perlu Anda konfigurasi dengan benar, bukan zsh
. Alasan mereka menggunakan xterm
mungkin untuk menghindari masalah ketika sshing ke mesin yang tidak memiliki entri terminfo yang lebih spesifik. Jika Anda tahu Anda hanya menggunakan mesin dengan database terminfo lengkap, maka Anda dapat dan harus mengubahnya dalam aplikasi itu sendiri.
xterm
jika xterm-256color tidak didukung, meskipun akan lebih baik untuk menambahkan entri tersebut di sendiri ~ / .terminfo database).
.zshrc
. Itu bukan cara yang benar.