tmux 调色板如何工作?

tmux 调色板如何工作?

我正在尝试将某些东西设置为灰色,但不知道该怎么做。我在手册页中能找到的有关颜色的唯一信息是:

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.

我还发现一篇博客文章它通过颜色进行迭代,但我不能完全理解它,并且不想整天坐在终端机前猜测颜色数字,直到找到一个起作用的颜色。

答案1

您可以使用此代码片段获取列表bash

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

然后colourxxx使用tmux

答案2

我发现这张图片很有启发。

在此处输入图片描述

答案3

在 Subversion(即 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

答案4

基于@cYrus 的回答,我编写了一个脚本,将颜色输出分成 N 列,其中 N 是第一个参数

# colors.sh

#!/bin/bash
if [ -z $1 ]; then
    BREAK=4
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先。

相关内容