使用带有vim和putty的配色方案


13

我试图在CentOS 5.6 x64上使用VIM 7.0的沙漠配色方案:

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

我已经下载了文件并将其保存在我的~/.vim/colors目录中。然后我告诉VIM使用配色方案:

:colors desert

它应该看起来像这样:

在此输入图像描述

但是我得到了这个:

在此输入图像描述

我正在使用PuTTY 0.60 作为普通用户(不是root或者sudo)登录此服务器并在下面设置了以下选项Window -> Colours

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

如果我sudo或登录root并尝试相同,除了黑色背景上的白色文本之外,我没有任何颜色。

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

我google'd了一下周围,并撞上了如文章这一个,但他们似乎并没有工作。

Answers:


21

默认情况下,PuTTY表示为xterm。各种程序用来确定终端功能的terminfo数据库表示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,您连接到不服务器具有的apropriate terminfo项,所有TUI程序将打破。

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

    if &term == "xterm"
        set t_Co=256
    endif
    
  • 或者您可以编辑terminfo数据库。

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

    更新的条目将保留在~/.terminfo


很好的答案。它更好,但我觉得256种颜色不足以渲染这些柔和的色调。知道为什么我登录时根本没有任何颜色root
Kev

1
@Kev:1)256色模式是VT100兼容终端仿真器上最好的模式。(我听说KDE Konsole有真彩色支持,但它非常不标准。)2)当你以root身份登录时,你会得到一个单独的主目录,也是一个单独的目录~/.vim/colors
grawity 2011年

1
@Kev:因为vi 没有配色方案或语法高亮 - 或者除了原始基本功能之外的任何东西。(毕竟Vim “Vi Improved”。)
grawity 2011年

1
vi --version说它是vim,所以它是一个削减vim使它看起来像vi?很抱歉,如果这是一个愚蠢的问题,我已经多年了,因为我在愤怒中使用unix(带有串口的SCO Unix盒子)并且只有vi(真正的vi)。
Kev

1
有点。当你运行vim为“ vi”时,它以“兼容性”模式启动,尽可能像vi一样运行。我不知道CentOS,所以我不确定它只是一个模式,还是一个完全独立的修剪版本。(我的发行版打包真正的vi而不是......)
grawity 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.