当我在 GNU Screen 中与另一台也使用 GNU Screen 的机器进行 SSH 会话时,256 色似乎不起作用。$TERM 仍然设置正确。但是,如果我运行 Vim,主题看起来不正确,就像只有一个屏幕会话一样。
Local machine: 256 colors in VIM okay
Screen session: 256 colors in VIM okay
SSH to remote machine: 256 colors in VIM okay
Screen session on remote machine: 256 colors in VIM _not_ okay
答案1
这可能是 中的一个错误screen
。它在递归会话方面存在一些已知的问题。不幸的是,该项目相当停滞不前(上一个版本发布于 3 年前),错误修复和功能没有得到添加。
尝试tmux
相反。它基本上做同样的事情,但消除了许多问题screen
,并且得到了积极的维护和开发。
答案2
Tmux 确实是可行的方法。顺便说一句,我通常使用别名来解决 screen/tmux 中的颜色问题:
alias tmux='tmux -2 -u'
alias vim='env TERM=xterm-256color vim'
这样,应用程序将始终显示正确的颜色,如果不是这样,那么这是一个错误,您应该与开发人员一起检查。如果我没记错的话,FreeNode 上的 #tmux chan 充满了开发人员和经验丰富的用户。