tmux底栏颜色变化


80

我最近开始使用tmux并非常喜欢它,但是它的绿色底栏有点让人分心,有没有办法改变它的颜色?还是隐藏它的方法?

Answers:


96

手册中提供了许多选项。(请参阅“选项”部分。)创建一个RC文件:~/.tmux.conf。下面的内容启用UTF-8,设置正确的TERM类型,并绘制带有黑色背景和白色前景的状态栏。

set status-utf8 on
set utf8 on

set -g default-terminal "screen-256color"

set -g status-bg black
set -g status-fg white

在FreeBSD 10.1中,我不得不添加-gUTF指令。

set -g status-utf8 on
set -g utf8 on

在UTF-8上,许多SSH客户端都需要一个客户端来显式定义要使用的字符集。例如,在Putty中,选择,Window -> Translation -> Remote character set: UTF-8然后选择Use Unicode line drawing code points

并关闭状态栏...

set -g status off

在手册上的颜色...

信息框颜色

设置状态行消息背景颜色,其中颜色是以下之一:黑色,红色,绿色,黄色,蓝色,洋红色,青色,白色,256色调色板中的colour0至colour255,或默认值。

因此,要列出可用的颜色,请首先创建一个脚本,也许是colors.sh

#!/usr/bin/env bash
for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done

接下来,执行脚本,管道至less

colors.sh | less -r

这将产生以下格式的颜色列表1-255:

colour1
[...]
colour255

从列表中选择一种颜色,也许是colour240,灰色阴影。在中~/.tmux.conf,使用此值设置所需的颜色:

set -g status-bg colour240

在Fedora 17中,默认情况下不启用256色终端。Fedora Project Wiki上给出了用于默认启用256色终端的官方方法。遵循该指南,或者作为每个用户的解决方案,为tmux创建一个别名,以通过“ -2”开关强制支持256色。

alias tmux="tmux -2"

然后启动tmux进行测试。

需要注意的是,如@ ILMostro_7指出,这是不正确设置TERM类型tmux的,例如,~/.bashrc。每个tmux窗格模拟一个终端-与xterm不同。仿真中tmux需要匹配屏幕,不同的终端描述,才能正常运行;但是,真正的终端不需要这样做。描述为xterm-256color


这对于Ubuntu来说效果很好,但是当我将Fg color设置为Gray时,它显示“坏色”时,我使用Fedora 17。
2013年

我使用Fedora Wiki上的官方方法,每次尝试登录时,都返回以下错误消息:-bash:$'\ r':找不到命令-bash:$'\ r':找不到命令-bash:$' \ r':找不到命令-bash:/etc/profile.d/256colors.sh:第13行:语法错误,出现在意外的令牌$'in\r'' 'bash: /etc/profile.d/256colors.sh: line 13: 情况“ $ TERM” 附近。我也使用了其他两种方法,但运行时没有错误什么也没做!
2013年

4
将bg-color设置为透明:set -g status-bg default
Hyde先生

1
这是颜色图:github.com/guns/xterm-color-table.vim/blob/master/… 例如:color260是橙色。在Tmux中,按Control-b,然后按:set -g status-bg colour260。(Tmux使用国际“颜色”与美国“颜色”。)还请注意,Tmux具有历史记录,可以先执行Control-b更新颜色,然后:进入命令模式,然后按下箭头以编辑最后设置的颜色命令。
johntellsall

可能是一个更好的解决方案,xterm-256color而不是screen-256color用于TERM环境变量。
ILMostro_7 '04

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.