我有256种颜色可以在konsole,中正常工作。我想尝试一下tmux,因为与屏幕不同,它似乎支持vi模式。但是,我发现提示的颜色出现了,这很可能是因为我有256色模式的提示。我需要怎么做才能让tmux识别所有256种颜色?

评论

tmux -2我必须在终结器中执行此操作,这让我有些惊讶。 -2标志告诉tmux强制使用256种颜色...终端是否喜欢... dun dun dunnn:P

#1 楼

Tmux FAQ明确建议不要在shell初始化文件中将TERM设置为screenscreen-256colortmuxtmux-256color以外的任何内容,所以不要这样做!
我在这里使用:并在我的.tmux.conf文件中:
~$ which tmux
tmux: aliased to TERM=xterm-256color tmux

tmux别名为“ tmux -2”也可以解决问题。

评论


我最喜欢在.tmux.conf中设置它的方法...使用shell设置它似乎不正确

– xenoterracide
10年8月24日在5:38

奇怪的。在OSX上不需要tmux -2,但是在Gnome Terminal中需要它。感谢您提供的信息,添加到我的别名中!

– F.X.
2012年12月8日在16:53

在Kubuntu 13.10中,仅.tmux.conf设置并不能使我恢复256种颜色(在vim可视模式下突出显示了该颜色),但别名有效。肯定会首选.tmux.conf文件解决方案。

–雅各布·道尔顿(Jacob Dalton)
2013年12月7日21:53

将.tmux.conf默认终端安装到Ubuntu机器(从OS X Terminal)中,这是我所需要的。

–都灵标记
2014年3月13日在16:19

对我来说,似乎我要做的就是不创建.tmux.conf文件的TERM = screen-256color tmux。我想念什么吗?

– joelostblom
15年4月26日在12:41

#2 楼

尝试在您的bashrc或zshrc中显式设置256种颜色:

export TERM=xterm-256color




export TERM=screen-256color


如果遇到问题使用屏幕术语设置时,tmux无法正确清除背景颜色,可以尝试:

export TERM=screen-256color-bce


评论


第一个是我的默认TERM设置...我只是尝试了其他2个,输入tmux后,提示符仍然不显示颜色。 (我想指出tmux确实在底部显示颜色)...似乎当我输入tmux时,它将TERM重置为TERM = screen ...也许有一种方法可以在配置中覆盖它?

– xenoterracide
2010年8月23日9:17



nvm ...我想把它放到我的shell的rc中确实行得通...它在执行tmux时忽略了设置的TERM env变量,这真令人讨厌...我想我必须在我的rc中放一个条件。

– xenoterracide
10年8月23日在9:21

-bce与tmux不兼容。 Tmux不支持背景色擦除:

–达斯汀·柯克兰(Dustin Kirkland)
2012年1月15日14:32

我在roxterm遇到了这个问题。希望向其中添加roxterm可以帮助人们找到与我相同的解决方案。我最终会进入vim,选择行会使它们消失。极难搜寻。 roxterm默认情况下仅设置$ TERM = xterm,这是不好的。

–狗狗
2014年7月8日在1:54

-1,您不应在shell初始化文件中无条件地进行设置。将其设置为xterm-256color也会在tmux内部覆盖它,而将其设置为tmux外部的screen-256color可能会导致显示错误。

–nyuszika7h
2014年11月5日14:23

#3 楼

根据tmux常见问题解答,将其添加到您的~/.tmux.conf中:
set -g default-terminal "screen-256color"

,然后为tmux添加此别名: TERM
更多信息:http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

评论


配置tmux对我来说已经足够了。我不需要设置别名(尽管可能不会造成伤害)。

– anishpatel
17年5月10日在6:33

仅配置tmux对我有用。别名不足。

–哈里·莫雷诺(Harry Moreno)
18年6月23日在5:39



#4 楼

最新版本的ncurses带有tmux-256color terminfo条目(FAQ确实提到了这一点)。例如,使用tmux-256color而不是screen-256color的好处是可以正确显示斜体(屏幕不支持斜体)。
因此,如果您使用的是tmux 2.6或更高版本,并且具有最新的ncurses软件包,以下内容同样适用:
set -g default-terminal "tmux-256color"


评论


我会指出,此解决方案似乎需要tmux 2.6或更高版本

–zzxyz
18年7月27日在19:16

#5 楼

对于拥有最新tmux的用户,应该可以从接受的答案中选择.tmux.conf选项。

我只想补充一点,您可能需要重启tmux才能使新配置生效:
tmux kill-server && tmux

有趣的是,答案中没有提到这一点,我花了一些时间才弄清楚。

评论


不知道服务器重启会吞噬我一生的几个小时。

–姆旺吉
20 Mar 28 '20在8:35

我只是在这里创建帐户告诉您,它挽救了我的生命。我正准备放弃tmux。但是,这节省了我一生的tmux;)我无法投票:(。

– Netro
20年4月17日在7:00

经过一小时无休止的搜索,这也挽救了我的性命,感觉就像我快要疯了。我建议将其作为编辑内容,在可见度最高的答案中归功于您

–craymichael
20年7月1日在16:19

#6 楼

我无法解释为什么这样做有效,但它为我解决了问题。

〜/ .tmux.conf

 set-option -g default-command bash
 


评论


我尝试了此作为最后的手段,并且令人惊讶的是它起作用了!

–v0d1ch
19-10-5在21:52

是!此解决方案还适用于18.04和20.04。非常感谢你。

–Geppettvs D'Constanzo
20年6月7日在17:35

这实际上解决了Pop-OS 20.04上的问题

– tcapelle
20-10-5在14:02

#7 楼

如果您运行的是比Bionic(18.04)更早的Ubuntu,请在此特别注意。如果您正在运行tmux 2.1或更早的版本,并且您可能正在运行,则基本上没有在线阅读关于tmux的建议会起作用。如果看到tmux -V或更旧版本,则可以从源代码构建tmux,也可以添加非官方存储库。我将tmux更新为:

sudo add-apt-repository ppa:/hnakamur/tmux
sudo apt update
sudo apt upgrade


个人而言,升级到2.1后,1)我的按键效果更好,2)在线建议确实有效,3)我的颜色是不疯。大的进步。

(这里是存储库页面的链接,顺便说一句):
https://launchpad.net/~hnakamur

#8 楼

这是我的解决方案。

评论


为什么要烦呢?您可以只设置变量。

– joeytwiddle
17-10-11在5:28

#9 楼

~/.tmux.conf中的以下代码对我有用-

set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"


在Tmux 2.7,Ubuntu 16.04、18.04
Tmux 2.9,CentOS


#10 楼

对于这里给出的所有其他答案表示感谢,但似乎没有必要修改全局TERM设置和~/.tmux.conf。 tmux。只需在您的~/.bashrc(或您使用的任何shell配置文件)的末尾添加此单行代码即可。有趣的是,在tmux启动后,TERM会自动重置为“屏幕”,但是无论如何颜色仍然有效。因此,我想tmux也会很高兴(因为不弄乱它的TERM环境?)。