【发布时间】:2014-07-14 22:30:35
【问题描述】:
这是一个非常具体的问题,但根据我在网上看到的情况,这是一个非常普遍的问题。我使用的是基于 Red Hat 的相当旧版本的 Scientific Linux 5。我使用带有 Solarized vim 配色方案的 vim,我的 TERM 环境变量通常设置为 xterm-256color。在我开始使用 tmux 之前,这一直很好。在 vim 中的非空行上,配色方案仅延伸到文档字符的末尾,剩余的空白是纯背景。
在线指南中对此的修正是设置TERM='screen-256color'。然而,在这样做时,我会收到不祥的警告:WARNING: terminal is not fully functional - (press RETURN),当我试图做一些无害的事情时,比如阅读手册页。但是,一切似乎都运行良好,并且修复了 Solarized 错误。
我找到了一个功能修复 - 默认使用 TERM='xterm-256color' 并将这一行添加到我的 .bashrc:
alias v='function _vim(){ TERM='screen-256color'; vim $1; TERM='xterm-256color'; };_vim'
但这似乎是一个黑客。有趣的是,我还设置了alias tmux='tmux -2',这是与配色方案相关问题的常见建议。
我也知道 terminfo screen-256color 在我的机器上可用。
所以,真的,主要令人困惑的是,当使用TERM='screen-256color' 时,我会收到关于完整功能的警告,而似乎没有任何问题。
我没有 root 访问权限,所以理想情况下,任何修复建议都不需要。
编辑:我应该提到TERM='screen-256color-bce' 和TERM='screen-256color' 有同样的问题。
【问题讨论】:
-
screen-256color是 tmux 的推荐TERM,您是否尝试将set -g default-terminal "screen-256color"放入~/.tmux.conf? -
@romainl:我做到了,但同样的问题正在发生。似乎我的系统存在一些问题,导致在运行
screen-256color时引发“终端功能不全”警告,无论上下文如何。尽管我的机器安装了screen-256color,但这似乎是根本问题。你知道为什么会这样吗?是否有可能以某种方式在本地目录中安装screen-256color的新版本(我没有root)并将terminfo重定向到它?
标签: vim tmux color-scheme terminfo