Tôi cần tôi $TERM
để được xterm-256color
bên ngoài của tmux (trong thiết bị đầu cuối với zsh "đồng bằng"), nhưng screen-256color
bên trong tmux.
Đầu tiên tôi đã thử:
- thêm
export TERM='xterm-256color'
để tôi~/.zshrc
. - thêm
set -g default-terminal "screen-256color"
vào của tôi~/.tmux.conf
Bây giờ, khi tôi mở thiết bị đầu cuối (nói, xterm), TERM
là xterm-256color
, đó là chính xác. Nhưng khi tôi chạy tmux, TERM
là một lần nữa xterm-256color
!
Sau đó, tôi đã cố gắng để nhận xét ra dòng trong của tôi ~/.zshrc
. Bây giờ, khi tôi mở terminal, TERM
là xterm
và khi tôi chạy tmux, TERM
là screen-256color
. Vì vậy, có vẻ như nếu tôi đặt TERM
trong .zshrc
, tmux trước hết bộ TERM
đến screen-256color
, chạy shell (đó là zsh), và zsh đọc .zshrc
và resets TERM
để xterm-256color
.
Vì vậy, làm thế nào để có TERM
được xterm-256color
trong thiết bị đầu cuối "đơn giản" và screen-256color
trong tmux?
TERM
trong các thiết bị đầu cuối này
gnome-terminal
, đó có lẽ là gnome-256color
... Vì vậy, đó là những ứng dụng bạn cần cấu hình đúng, không phải zsh
. Lý do họ sử dụng xterm
có lẽ là để tránh các vấn đề khi sshing với các máy không có các mục terminfo cụ thể hơn. Nếu bạn biết bạn chỉ sshing với các máy có cơ sở dữ liệu terminfo đầy đủ, thì bạn có thể và nên thay đổi điều đó trong chính các ứng dụng.
xterm
nếu xterm-256color không được hỗ trợ, mặc dù vậy sẽ tốt hơn nếu thêm các mục đó vào cơ sở dữ liệu ~ / .terminfo).
.zshrc
. Nó không phải là cách chính xác.