bash: trang màu người đàn ông


15

Tôi phải xem ở đâu trong hệ thống để tô màu các trang man?

Các trang man được xem với ít hơn, vì vậy tôi đã thử thêm các dòng sau vào .bashrc của mình để thay đổi màu sắc: (Hoạt động tốt, btw.)

 #
 #   L E S S   C O L O R S   F O R   M A N   P A G E S
 #

 # CHANGE FIRST NUMBER PAIR FOR COMMAND AND FLAG COLOR
 # currently 0;33 a.k.a. brown, which is dark yellow for me 
    export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold

 # CHANGE FIRST NUMBER PAIR FOR PARAMETER COLOR
 # currently 0;36 a.k.a. cyan
    export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

 # don't change anything here
    export LESS_TERMCAP_mb=$'\E[1;31m'       # begin blinking
    export LESS_TERMCAP_me=$'\E[0m'           # end mode
    export LESS_TERMCAP_se=$'\E[0m'           # end standout-mode
    export LESS_TERMCAP_so=$'\E[38;5;246m'    # begin standout-mode - info box
    export LESS_TERMCAP_ue=$'\E[0m'           # end underline

 #########################################
 # Colorcodes:
 # Black       0;30     Dark Gray     1;30
 # Red         0;31     Light Red     1;31
 # Green       0;32     Light Green   1;32
 # Brown       0;33     Yellow        1;33
 # Blue        0;34     Light Blue    1;34
 # Purple      0;35     Light Purple  1;35
 # Cyan        0;36     Light Cyan    1;36
 # Light Gray  0;37     White         1;37
 #########################################

Trước sự xấu hổ của tôi, tôi phải thừa nhận rằng tôi đã không tìm ra cặp số thứ hai có nghĩa là gì, tức là 5;745;146.

Ai đó có thể làm rõ hơn nữa?


Nó là gì với số phiếu gần? Tôi đã biết liên kết wikipedia trước đây và tôi vẫn không biết thứ tự của chuỗi có nghĩa là gì. Thử và sai và thiết lập các giá trị khác nhau không giúp tôi chút nào. Một "đi RTFM" đơn giản không giúp tôi ở đây.
sjas

Bạn phải đùa tôi ... điều này thật tuyệt! Công cụ này được ghi nhận ở đâu? Tôi đã xem trong trang man BASH và LESS nhưng không thể tìm thấy chuỗi LESS_TERMCAP.
ysap

OK, tìm thấy cái này cho người mới bắt đầu: unix.stackexchange.com/questions/119/colors-in-man-pages
ysap

Điều này: " for name [ [ in [ word ... ] ] ; ] do list ; done" có ý nghĩa hơn bây giờ, về màu sắc ... 8-)
ysap

@ysap: Không thấy các liên kết đó và không thể nhớ tôi đã tìm thấy liên kết này ở đâu. Đặt cái này ở đây cho mục đích tài liệu và hỏi về các chuỗi thoát trong quy trình. :)
sjas

Câu trả lời:


1
export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold
export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

Trong hai trường hợp này, tất cả các màu và thuộc tính được đặt lại (0), màu nền trước được chuyển sang màu vàng / nâu (33) hoặc lục lam (36), sau đó nhấp nháy được bật (5), và sau đó một cái gì đó khác cũng xảy ra ( 74 hoặc 146) có thể không xác định và không mong muốn.

export LESS_TERMCAP_so=$'\E[38;5;246m'

Điều này khác nhau, bởi vì 38 có thêm tham số số. Nó là viết tắt của màu nền trước mở rộng (và tương tự 48 sẽ giống với màu nền) và nếu theo sau là 5 là tham số tiếp theo (không liên quan gì đến việc nhấp nháy lần này) thì số thứ ba chỉ định chỉ số của màu ( từ 0 đến 255: 16 màu kế thừa tiêu chuẩn, tiếp theo là khối RGB 6x6x6, tiếp theo là 24 màu thang độ xám), xem ví dụ tại đây .

Một số trình giả lập thiết bị đầu cuối cũng hỗ trợ các màu RGB tùy ý trực tiếp, trong trường hợp đó 38 phải được theo sau bởi 2 và sau đó là ba số thập phân trong phạm vi 0-255 cho R, G, B, ví dụ # BADA55 là

\E[38;2;186;218;85m

1
Thật tệ khi bạn không thể biết ;đại diện nào cho các tham số bổ sung của trước đó và đại diện cho một thương hiệu mới mà không cần nhìn vào các con số chính xác. Vì vậy, nó được khuyến nghị rằng các tham số bổ sung nên được phân tách bằng một :thay thế. Ví dụ: để đặt lại mọi thứ, sau đó chuyển sang màu # 246 và cũng bật nhấp nháy, thay vì 0;38;5;246;5bạn nói 0;38:5:246;5. Thật không may, nó được hỗ trợ bởi các thiết bị đầu cuối thậm chí ít hơn.
egmont


1

Với sự giúp đỡ của http://invisible-island.net/xterm/ctlseqs/ctlseqs.html và liên kết wikipedia tôi đã đi đến kết luận điều đó 5có nghĩa 5 Blink: Slow less than 150 per minute.

Những con số cuối cùng nghe như thế này:

 If 88- or 256-color support is compiled, the following apply. 
 P s = 3 8 ; 5 ; P s  Set foreground color to the second P s . 
 P s = 4 8 ; 5 ; P s  Set background color to the second P s .

Ngoài ra, có vẻ như số lượng không quan trọng, chỉ là thứ tự thời gian của chúng.


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.