it-swarm-vi.com

Bắt 256 màu để hoạt động trong tmux

Tôi có 256 màu hoạt động tốt trong konsole,. Tôi nghĩ tôi sẽ thử tmux vì không giống như màn hình, nó dường như hỗ trợ chế độ vi. Tuy nhiên tôi thấy rằng màu sắc của Prompt của tôi hiển thị và điều này rất có thể là do tôi có chế độ Nhắc 256 màu. Tôi cần làm gì để có được tmux để nhận ra tất cả 256 màu?

186
xenoterracide

Câu hỏi thường gặp về Tmux khuyên rõ ràng không nên đặt TERM thành bất cứ thứ gì ngoài màn hình hoặc màn hình 256 màu trong tệp Shell init của bạn, vì vậy đừng làm điều đó!

Đây là những gì tôi sử dụng:

~$ which tmux
tmux: aliased to TERM=xterm-256color tmux

và trong .tmux.conf của tôi:

set -g default-terminal "screen-256color"

Bí danh tmux thành "tmux -2 "cũng nên thực hiện các mẹo.

271
cannedprimates

Hãy thử thiết lập 256 màu rõ ràng trong bashrc hoặc zshrc của bạn:

export TERM=xterm-256color

hoặc là

export TERM=screen-256color

Nếu bạn gặp vấn đề với tmux không xóa màu nền chính xác khi sử dụng cài đặt thuật ngữ màn hình, bạn có thể thử:

export TERM=screen-256color-bce
42
redacted

Theo tmux FAQ , hãy thêm phần này vào ~/.tmux.conf:

set -g default-terminal "screen-256color"

Sau đó thêm bí danh này cho tmux:

alias tmux='tmux -2'

Không cần ghi đè biến TERM trong hồ sơ của bạn hoặc khi bắt đầu tmux.

Thêm thông tin: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

20
user1338062

Phiên bản mới nhất của ncurses tàu có mục nhập terminfo tmux-256color ( FAQ = không đề cập đến điều này). Ví dụ: lợi ích của việc sử dụng tmux-256color trên screen-256color là chữ nghiêng được hiển thị đúng (màn hình không hỗ trợ chữ nghiêng).

Vì vậy, nếu bạn có gói ncurses mới nhất, những điều sau đây cũng sẽ hoạt động:

set -g default-terminal "tmux-256color"
13
Gabriel Parent

Đối với những người có tmux mới nhất, .tmux.conf tùy chọn từ câu trả lời được chấp nhận sẽ hoạt động.

Tôi chỉ muốn thêm rằng có lẽ bạn sẽ cần phải khởi động lại tmux để cấu hình mới có hiệu lực:

tmux kill-server && tmux

Thật thú vị, điều này không được đề cập ở bất cứ đâu trong câu trả lời và tôi phải mất một thời gian để tìm ra.

4
mast3r

Lưu ý thực sự quan trọng ở đây nếu bạn đang chạy Ubuntu cũ hơn Bionic (18.04). Nếu bạn đang chạy tmux 2.1 hoặc cũ hơn, và có lẽ bạn, về cơ bản, không có lời khuyên nào bạn đọc trực tuyến về tmux sẽ hoạt động..cho bất cứ điều gì.

tmux -V là một thử nghiệm dễ dàng cho việc này. Nếu bạn thấy 2.1 hoặc cũ hơn, bạn có thể xây dựng tmux từ nguồn hoặc bạn có thể thêm một kho lưu trữ không chính thức. Tôi đã cập nhật tmux của mình với:

Sudo add-apt-repository ppa:/hnakamur/tmux
Sudo apt update
Sudo apt upgrade

Cá nhân, sau khi nâng cấp lên 2.6, 1) các phím của tôi hoạt động tốt hơn, 2) lời khuyên trực tuyến thực sự hoạt động, 3) màu sắc của tôi không điên. Cải tiến lớn.

(Đây là một liên kết đến trang kho lưu trữ, btw): https://launchpad.net/~hnakamur

3
zzxyz

Tôi không thể giải thích tại sao điều này hoạt động nhưng nó đã giải quyết vấn đề cho tôi.

~/.tmux.conf

set-option -g default-command bash
2
John Snow

Đây là giải pháp của tôi .... Tôi chỉnh sửa tệp .bashrc của mình và thêm tệp này

if [ "$TERM" != "xterm-256color" ]; then
      export TERM=xterm-256color
    fi

Hy vọng nó hoạt động trong của bạn

1
Wira Bhakti

Cảm thấy biết ơn về tất cả các câu trả lời khác ở đây cho tôi gợi ý, nhưng sau đó có vẻ không cần thiết phải sửa đổi cài đặt TATE toàn cầu VÀ ~/.tmux.conf.

Cuối cùng tôi đã sử dụng một bí danh để đặt TATE chỉ khi tôi sắp sử dụng tmux. Chỉ cần thêm một lớp lót này vào cuối ~/.bashrc (Hoặc bất kỳ tệp cấu hình Shell nào bạn sử dụng).

alias tmux='TERM=xterm-256color tmux'

Đó là nó. Điều thú vị là, sau khi tmux ra mắt, TERM sẽ tự động được đặt lại thành "màn hình", nhưng màu sắc vẫn hoạt động. Vì vậy, tôi đoán tmux cũng sẽ hạnh phúc (vì không gây rối với môi trường HẠN của nó?).

0
RayLuo

Các dòng sau trong ~/.tmux.conf đã làm cho tôi --

set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"

Đã thử nghiệm trên

  • Tmux 2.7, Ubuntu 16.04,18.04
  • Tmux 2.9, CentOS
0
user3496912