Có cách nào để có được đầu ra màu khi sử dụng hoàn thành tab trong một thiết bị đầu cuối không? Màu sắc của tôi vẫn ổn ở mọi nơi khác vì vậy tôi biết rằng tôi đã kích hoạt thiết bị đầu cuối màu thành công.
Sử dụng bash trong Ubuntu (10.10).
Có cách nào để có được đầu ra màu khi sử dụng hoàn thành tab trong một thiết bị đầu cuối không? Màu sắc của tôi vẫn ổn ở mọi nơi khác vì vậy tôi biết rằng tôi đã kích hoạt thiết bị đầu cuối màu thành công.
Sử dụng bash trong Ubuntu (10.10).
Câu trả lời:
Không có cơ sở nào trong Bash để đầu ra màu trong khi hoàn thành như có cá và zsh. Người ta có thể viết các hàm hoàn thành xuất ra các chuỗi điều khiển màu, nhưng bạn phải duy trì các bản sao của các lần hoàn thành được đề xuất có và không có mã màu hoặc loại bỏ khi người dùng thực hiện lựa chọn vì Bash sử dụng trực tiếp lựa chọn và mã màu sẽ cản đường
Nếu đây là một tính năng quan trọng đối với bạn, tôi khuyên bạn nên cân nhắc sử dụng zsh.
Cập nhật
Đường đọc Bash 4.3 thêm một biến cho phép màu để hoàn thành tab hiển thị các màu khác nhau cho các tệp, thư mục thực thi, v.v., trong khi hoàn thành tab:
colored-stats
Dòng đọc trong Bash 4.4 sắp tới sẽ thêm một biến cho phép màu biểu thị phần khớp của chuỗi trong khi hoàn thành tab.
colored-completion-prefix
Bạn có thể thấy các giá trị của các biến này bằng cách sử dụng
bind -v | grep color
Để đặt chúng, hãy thêm (các) dòng vào ~/.inputrc
tệp của bạn, chẳng hạn như:
set colored-stats on
LS_COLORS
biến môi trường." Các tài liệu cho biến đó là ở đây . Không có cài đặt cho man
các trang, vì vậy bạn sẽ cần xem nơi bạn LS_COLORS
được đặt và tìm sự kết hợp màu tương ứng và thay đổi nó. Trên hệ thống của tôi, man
tên trang không được tô màu khi hoàn thành tab (và các liên kết tượng trưng bị hỏng, trong khi đầu ra màu đỏ xám ls
, ...
bind -v | grep color
hiển thị cả hai set colored-completion-prefix on
và set colored-stats on
? Nếu vậy, điều gì xảy ra khi bạn gõ chữ a theo sau bằng cách nhấn tab hai lần? Nếu bạn đã thêm cài đặt vào ~/.inputrc
nhưng chưa bắt đầu thiết bị đầu cuối mới hoặc chưa thực hiện re-read-init-file
bằng cách nhấn control-x control-r thì cài đặt sẽ không có hiệu lực.
Tôi không biết về màu hoàn thành cho các tùy chọn lệnh và đối số nhưng đối với tên tệp và thư mục, theo ( /unix//a/133866 ) user495470 nói rằng trong Bash 4.3 và sau đó bạn có thể thêm set colored-stats on
vào ~/.inputrc
để được tô màu hoàn thành khi bạn làm ls <tab>
.