使用 vim 和 putty 的配色方案

使用 vim 和 putty 的配色方案

我正在尝试在位于此处的 CentOS 5.6 x64 上将沙漠配色方案与 VIM 7.0 结合使用:

http://hans.fugal.net/vim/colors/desert.vim

我已下载该文件并将其保存在我的~/.vim/colors目录中。然后我通过发出以下命令告诉 VIM 使用颜色方案:

:colors desert

它看起来应该是这样的:

在此处输入图片描述

但是我得到了这个:

在此处输入图片描述

root我使用PuTTY 0.60以普通用户(不是或)的身份登录该服务器sudo,并在下设置了以下选项Window -> Colours

允许终端指定 ANSI 颜色 - 已勾选
允许终端使用 256 色模式 - 已选中
加粗的测试是不同的颜色 - 已检查
尝试使用逻辑调色板-未选中
使用系统颜色 - 未选中

如果我sudo以 身份登录root并尝试相同操作,除了黑色背景上的白色文字外,我根本看不到任何颜色。

这些方案主要针对 gVIM 吗?而 PuTTY 无法显示这些颜色吗?

我在 Google 上搜索了一下,发现了如下文章这个但它们似乎不起作用。

答案1

默认情况下,PuTTY 显示为xterm术语信息各种程序用来确定终端功能的数据库显示xterm仅支持八种颜色:

$ infocmp -1L xterm | grep max_colors

这意味着即使你的 Xterm 版本支持256色模式,程序不会知道这一点。

  • 最简单的解决方法是将 $TERM 环境变量设置为xterm-256color

    (在您的 ~/.profile 中,您可以使用
    if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi:)

  • 您可以告诉PuTTY总是标识自己为xterm-256color,通过配置 → 连接 → 数据 → 终端类型字符串

    注意:如果你使用 #1 或 #2,并且你连接到的服务器不支持适当的 terminfo 条目,所有 TUI 程序将会中断。

  • 您还可以't_Co'在 vim 中设置选项来256覆盖 terminfo 值。

    if &term == "xterm"
        set t_Co=256
    endif
    
  • 或者你可以编辑术语信息数据库。

    $ infocmp -L -1 xterm | sed -r 's/(max_colors)#[0-9]+/\1#256/' > /tmp/xterm
    $ tic /tmp/xterm
    

    更新后的条目将保存在 中~/.terminfo

相关内容