thay đổi màu thanh dưới cùng của tmux


80

Gần đây tôi đã bắt đầu sử dụng tmuxvà thích nó nhiều, nhưng thanh dưới cùng màu xanh lá cây của nó hơi mất tập trung, có cách nào để thay đổi màu sắc của nó? hoặc một cách để che giấu nó?

Câu trả lời:


96

Có nhiều lựa chọn được đưa ra trong hướng dẫn . (Xem phần TÙY CHỌN.) Tạo tệp RC : ~/.tmux.conf. Các nội dung bên dưới cho phép UTF-8, đặt loại TERM đúng và vẽ thanh trạng thái với nền đen và nền trước màu trắng.

set status-utf8 on
set utf8 on

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

set -g status-bg black
set -g status-fg white

Trong FreeBSD 10.1, tôi đã phải thêm -gvào các chỉ thị UTF.

set -g status-utf8 on
set -g utf8 on

Trên UTF-8, nhiều máy khách SSH yêu cầu một người xác định rõ ràng một bộ ký tự sẽ sử dụng. Ví dụ, trong Putty, chọn Window -> Translation -> Remote character set: UTF-8và chọn Use Unicode line drawing code points.

Và để tắt thanh trạng thái ...

set -g status off

Về màu sắc từ hướng dẫn ...

tin nhắn-bg màu

Đặt màu nền của thông báo dòng trạng thái, trong đó màu là một trong số: đen, đỏ, xanh lá cây, vàng, xanh dương, đỏ tươi, lục lam, trắng, colour0 thành colour255 từ bảng màu 256 hoặc mặc định.

Vì vậy, để liệt kê các màu có sẵn, trước tiên hãy tạo một tập lệnh , có thể colors.sh:

#!/usr/bin/env bash
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done

Tiếp theo, thực thi tập lệnh, chuyển sang less:

colors.sh | less -r

Điều này tạo ra một danh sách các màu, 1-255, ở định dạng này:

colour1
[...]
colour255

Chọn một màu từ danh sách, có lẽ là colour240 , một màu xám. Trong ~/.tmux.conf, sử dụng giá trị này để đặt màu mong muốn:

set -g status-bg colour240

Trong Fedora 17, các thiết bị đầu cuối 256 màu không được bật theo mặc định. Phương thức chính thức được sử dụng để bật các thiết bị đầu cuối 256 màu theo mặc định được đưa ra trên Fedora Project Wiki . Thực hiện theo hướng dẫn đó, hoặc, như một giải pháp cho mỗi người dùng, tạo bí danh cho tmux để buộc hỗ trợ 256 màu với công tắc "-2".

alias tmux="tmux -2"

Sau đó bắt đầu tmux để kiểm tra nó.

Lưu ý rằng, như @ ILMostro_7 chỉ ra, sẽ không đúng khi đặt loại TERM cho tmuxtừ, ví dụ , ~/.bashrc. Mỗi khung tmux mô phỏng một thiết bị đầu cuối - không giống với xterm. Việc mô phỏng trong các tmuxnhu cầu khớp với màn hình, một mô tả thiết bị đầu cuối khác, để hành xử đúng; nhưng, thiết bị đầu cuối thực sự không cần phải làm như vậy. Đó là mô tả xterm-256color.


Điều này hoạt động tốt với Ubuntu, nhưng tôi Fedora 17 khi tôi đặt màu fg thành Xám thì nó báo là "màu xấu".
Sam

Tôi đã sử dụng phương thức chính thức từ Fedora wiki và mỗi lần tôi cố gắng đăng nhập, đã trả về thông báo lỗi này: -bash: $ '\ r': lệnh không tìm thấy -bash: $ '\ r': lệnh không tìm thấy -bash: $ ' \ r ': lệnh không tìm thấy -bash: /etc/profile.d/256colors.sh: dòng 13: lỗi cú pháp gần $'in\r'' 'bash: /etc/profile.d/256colors.sh: line 13: trường hợp mã thông báo không mong muốn "$ TERM" trong. Ngoài ra, tôi đã sử dụng hai phương thức khác, tôi chạy không có lỗi nhưng đã không làm bất cứ điều gì!
Sam

4
Để đặt màu bg thành trong suốt:set -g status-bg default
Mr Hyde

1
Đây là bản đồ màu: github.com/guns/xterm-color-table.vim/blob/master/ Khăn Ví dụ: color260 có màu cam. Trong Tmux, nhấn Control-b, sau đó :set -g status-bg colour260. (Tmux sử dụng quốc tế "màu" vs Mỹ "màu"). Cũng lưu ý rằng tmux có lịch sử, để cập nhật các màu làm Control-b, sau đó :để vào chế độ lệnh, sau đó nhấn mũi tên lên để chỉnh sửa các thiết lập cuối cùng lệnh màu.
johntellsall

có thể là một giải pháp tốt hơn để sử dụng xterm-256colorthay vì screen-256colorcho TERMbiến môi trường.
ILMostro_7

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.