为什么我在终端(xfce-terminal)中只看到8种颜色?

Ren*_*ger 10 x11 terminal xterm terminal-emulator xubuntu

我正在运行Xubuntu 13.04,我想使用Vim作为我的默认编辑器.我已经下载了许多vim颜色模式并尝试了它们,但它们看起来都不像官方截图.

例如,vim自己的颜色模式 - 沙漠应该如下所示:

在此输入图像描述

但在我的vim中,很多颜色都不会显示,例如背景.

在此输入图像描述

所以这意味着与xfce的终端战斗,我不能强迫它使用256色.命令tput colors给了我8.

同时代码((x = 0; x <= 255; x ++));做echo -e"$ {x}:\ 033 [48; 5; $ {x} mcolor\033 [000m";完成了我很好的颜色.好像我错过了什么.如果我跑

 **$ echo $TERM**
Run Code Online (Sandbox Code Playgroud)

我得到了xterm.它应该是'xterm-256color'

当我尝试设置term = xterm-256color并导出TERM = xterm-256color

然后:echo $ TERM

我收到消息xterm-256color.

但在注销/注册后,我仍然没有在Vim中获得正确的颜色.我看到Xterm再次改为xterm.

我补充说:

if $TERM == "xterm-256color" set t_Co=256 endif
Run Code Online (Sandbox Code Playgroud)

t_Co = 256

到我的.vimrc文件,它似乎没有帮助.然后我定制了xterm条目; 将此添加到〜/ .Xdefaults:

 *customization: -color
 XTerm*termName: xterm-256color
Add this to ~/.xsession to apply to new terminals:

if [ -f $HOME/.Xdefaults ]; then
   xrdb -merge $HOME/.Xdefaults
fi
Run Code Online (Sandbox Code Playgroud)

当我更改终端的首选项,模拟终端环境时,'xterm'变为'xterm-256color'

我收到消息:

 '*** VTE ***: Failed to load terminal capabilities from '/etc/termcap' 
Run Code Online (Sandbox Code Playgroud)

当我检查/ usr/share/vte/termcap/xterm时,缺少文件xterm-256color.在文件夹xterm0.0中也是如此.我试图在互联网上找到这个文件下载并放入文件夹,但我找不到它.

这让我整天疯狂......有什么建议吗?

mak*_*i57 15

快速(临时)方式

每当您打开一个新终端时输入:

export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)

只要窗口打开就可以工作.

工作但肮脏的方式

将上面的行添加到~/.bashrc.

有这个问题,不过,是编辑$TERM.bashrc是一个坏主意,因为这样做会自动用任何终端bash尝试使用它,无论它是否真正支持256个色或不(当SSH-ING或访问终端,如Ctrl+ Alt+ F1to F6).

我做了什么,但是因为xfce4-terminal$COLORTERM值设置为xfce4-terminalI,而是将以下内容附加到.bashrc:

if [ "$COLORTERM" == "xfce4-terminal" ] ; then
    export TERM=xterm-256color
fi
Run Code Online (Sandbox Code Playgroud)

这样,相关的$TERM编辑只会在您使用时发生xfce4-terminal,它只是将其设置为xterm无论如何(并且更改模拟环境会导致"VTE"消息).

参考文献: