3

我想更改所有内置 byobu 插件/指示器的颜色,以匹配我的 tmux/vim/emacs/terminal 的日晒调色板。

有没有一种简单的方法可以在用户的​​ rc 文件中覆盖它们,或者我必须在 /usr/lib/byobu/* 中更改它们?

4

1 回答 1

8

事实上,这是可能的。

您需要获取color_map()函数的定义,该定义在/usr/lib/byobu/include/shutil.

复制整个函数并将其粘贴到本地用户的~/.byobu/color.tmux配置文件中。该函数目前看起来像这样:

color_map() {
        case "$1" in
                "k") _RET="black" ;;
                "r") _RET="red" ;;
                "g") _RET="green" ;;
                "y") _RET="yellow" ;;
                "b") _RET="blue" ;;
                "m") _RET="magenta" ;;
                "c") _RET="cyan" ;;
                "w") _RET="white" ;;
                "d") _RET="black" ;;
                "K") _RET="brightblack" ;;
                "R") _RET="brightred" ;;
                "G") _RET="brightgreen" ;;
                "Y") _RET="brightyellow" ;;
                "B") _RET="brightblue" ;;
                "M") _RET="brightmagenta" ;;
                "C") _RET="brightcyan" ;;
                "W") _RET="brightwhite" ;;
                *) _RET= ;;
        esac
}

现在,您可以随意更改这些颜色。例如,如果您将“Y”定义从“brightyellow”更改为“magenta”,您应该会看到系统负载指示器从黄色变为紫色。

如果您使用的是 solarized,您可能需要使用 Tmux 的 256 色支持。在这种情况下,您可能需要指定 256 色选项而不是 16 色选项,例如“color52”。您可以使用此 xterm 颜色图表作为指南:

xterm 色卡

如果您确实创建了一个太阳能主题,请分享它,因为我很乐意将它[Byobu][2]作为一个选项包含在内!

全面披露:我是Byobu的作者和维护者。

于 2013-09-27T14:02:25.963 回答