Tmux renk paleti nasıl çalışır?


140

Griye bir şey koymaya çalışıyorum ama nasıl olduğunu çözemiyorum. Man sayfasında bulabildiğim renkler hakkındaki tek bilgi:

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.

Ayrıca renkler arasında yinelenen bir blog yazısı da buldum , ancak tam olarak grok edemiyorum ve bir güne kadar renk numaralarını tahmin edene kadar bütün gün terminalde oturmak istemiyorum.

Yanıtlar:


223

Bu bashsnippet ile bir liste alabilirsiniz :

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

Sonra kullanmak colourxxxile tmux.


18
Hemen renginizi geri almak için $
reset'i kullanın

belki üç basamaklı renge ihtiyacınız var? Bu komut dosyası gibi çıktılar color12ancak tmux tarafından geçerli bir renk olarak kabul edilmedi.
artfulrobot

6
Benim tmux(1.6) gibi renkleri bile kabul eder colour12("u" deyin).
cYrus

1
Bu cevap hala yardımcı olur! İstediğim renkleri seçmeme yardım etti.
asfallows

6
Aman Tanrım! Terminalimde bir gökkuşağı var. Tam da ABD'de evlilik eşitliğini kutlamak için tam zamanında!
garbelini

75

Bu görüntüyü aydınlatıcı buldum.

görüntü tanımını buraya girin


16
for i in {0..255}; do printf "\x1b[38;5;${i}mcolor%-5i\x1b[0m" $i ; if ! (( ($i + 1 ) % 8 )); then echo ; fi ; done
İle

22

Subversion'da (tmux 1.5 olacak) ayrıca en yakın 256 renk paleti girişine eşlenen #abcdef hex stili renkleri de kullanabilirsiniz. Bir dize olarak kabul edilirken tırnaklara ihtiyacınız vardır, oysa normal renk adları adlandırılmış sabitler olarak değerlendirilir. Ayrıca, 3 harfli stenografın (# f00) geçersiz olduğunu unutmayın.

Örnek:

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

1
Yapabilir misin? Nasıl göremiyorum ...
Eric

5
set-seçenek mesajı-bg "#abcdef"; tırnak gereklidir.
chepner

Ayrıca tam 6 adet altıgen karakter kullanmak zorundasınız, 3 karakter kısayolu yok, yani #fffişe yaramaz, kullanmak zorundasınız#ffffff
bschlueter



6

@CYrus'un cevabını temel alarak, renklerin çıktısını N sayıdaki sütuna ayırmak için bir senaryo yazdım; burada N, ilk argümandır.

# 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 adlı bir dosyaya kaydederek deneyin, ardından ./colors.sh 4

chmod +x colors.shİlk önce unutma .


3
Komut dosyası show-256-colors.sh arka plan renklerini göstermek için de yararlı olabilir.
Maxim Suslov

Menşe komut dosyasından ayırt etmek için varsayılan olarak en az 4 sütun demelisiniz.
dbkeys
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.