Tôi cần tôi $TERMđể được xterm-256colorbên ngoài của tmux (trong thiết bị đầu cuối với zsh "đồng bằng"), nhưng screen-256colorbê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), TERMlà xterm-256color, đó là chính xác. Nhưng khi tôi chạy tmux, TERMlà 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, TERMlà xtermvà khi tôi chạy tmux, TERMlà screen-256color. Vì vậy, có vẻ như nếu tôi đặt TERMtrong .zshrc, tmux trước hết bộ TERMđến screen-256color, chạy shell (đó là zsh), và zsh đọc .zshrcvà resets TERMđể xterm-256color.
Vì vậy, làm thế nào để có TERMđược xterm-256colortrong thiết bị đầu cuối "đơn giản" và screen-256colortrong tmux?
TERMtrong 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 xtermcó 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.
xtermnế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.