จานสี tmux ทำงานอย่างไร?


140

ฉันกำลังพยายามตั้งค่าบางอย่างให้เป็นสีเทา แต่ไม่สามารถหาวิธีได้ ข้อมูลเพียงเล็กน้อยในหน้าคนเกี่ยวกับสีที่ฉันหาได้คือ:

message-bg colour
  Set status line message background colour, where colour is one of:
  black, red, green, yellow, blue, magenta, cyan, white, colour0 to
  colour255 from the 256-colour palette, or default.

ฉันยังพบโพสต์บล็อกที่วนซ้ำสี แต่ฉันลาดเทไม่ได้และไม่ต้องการนั่งที่สถานีตลอดทั้งวันเพื่อคาดเดาตัวเลขสีจนกว่าจะมีใครทำงานได้

คำตอบ:


223

คุณสามารถรับรายการด้วยbashตัวอย่างนี้:

for i in {0..255}; do
    printf "\x1b[38;5;${i}mcolour${i}\x1b[0m\n"
done

จากนั้นใช้กับcolourxxxtmux


18
ใช้ $ reset เพื่อให้ได้สีแจ้งของคุณกลับมา:>
lkraav

คุณอาจต้องการสีสามหลัก? สคริปต์นี้แสดงผลเหมือนcolor12แต่ไม่ได้รับการยอมรับจาก tmux เป็นสีที่ถูกต้อง
artfulrobot

6
My tmux(1.6) ยอมรับสีที่เหมือนกันcolour12(คำนึงถึง "u")
cYrus

1
คำตอบนี้ยังมีประโยชน์! ช่วยฉันเลือกสีที่ฉันต้องการ
asfallows

6
พระเจ้าช่วย! รุ้งบนเทอร์มินัลของฉัน ทันเวลาเพื่อเฉลิมฉลองความเท่าเทียมกันของการแต่งงานในสหรัฐอเมริกา!
garbelini


22

ในการโค่นล้ม (สิ่งที่จะเป็น tmux 1.5) คุณยังสามารถใช้ #abcdef สีหกเหลี่ยมสไตล์ซึ่งถูกแมปกับรายการจานสี 256 ที่ใกล้ที่สุด คุณต้องใส่เครื่องหมายอัญประกาศเนื่องจากมันถือเป็นสตริงในขณะที่ชื่อสีปกติจะถือว่าเป็นค่าคงที่ นอกจากนี้โปรดทราบว่าการจดชวเลข 3 ตัวอักษร (# f00) ไม่ถูกต้อง

ตัวอย่าง:

set pane-active-border-bg red # no quotes for name
set pane-active-border-bg "#ff0000" # quotes for rgb

1
คุณสามารถ? ฉันไม่เห็นวิธี ...
Eric

5
set-option message-bg "#abcdef"; คำพูดมีความจำเป็น
chepner

คุณดูเหมือนจะต้องใช้ hex hex แบบเต็ม 6 ตัวไม่มีทางลัดถ่าน 3 ตัวคือ#fffจะไม่ทำงานคุณต้องใช้#ffffff
bschlueter



6

สร้างขึ้นบน @cYrus 'คำตอบฉันเขียนสคริปต์เพื่อแบ่งเอาท์พุทของสีออกเป็นจำนวนคอลัมน์ N โดยที่ N คืออาร์กิวเมนต์แรก

# colors.sh

#!/bin/bash
if [ -z $1 ]; then
    BREAK=1
else
    BREAK=$1
fi
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i} \t"
    if [ $(( i % $BREAK )) -eq $(($BREAK-1)) ] ; then
        printf "\n"
    fi
done

ลองใช้โดยบันทึกลงในไฟล์ที่เรียกว่า colors.sh จากนั้น ./colors.sh 4

อย่าลืมchmod +x colors.shก่อน


3
สคริปต์show-256-colors.shอาจมีประโยชน์ในการแสดงสีพื้นหลังได้เช่นกัน
Maxim Suslov

คุณควรเริ่มต้นให้พูดอย่างน้อย 4 คอลัมน์เพื่อแยกความแตกต่างจากสคริปต์ต้นทาง
dbkeys
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.