解决vim没有颜色的办法

问题起因,在两台host上用同样的方法编译了同样的vim73包,可是运行的时候,一台host上vim有颜色,而另一台却没有颜色。于是开始侦查。

首先打开vim,输入命令 scriptnames看看vim加载了哪些脚本。

:scriptnames

输出入下

  1: /home/users/xxx/.vimrc
2: /home/users/xxx/tools/share/vim/vim73/colors/darkblue.vim
3: /home/users/xxx/tools/share/vim/vim73/syntax/syntax.vim
4: /home/users/xxx/tools/share/vim/vim73/syntax/synload.vim
5: /home/users/xxx/tools/share/vim/vim73/syntax/syncolor.vim
6: /home/users/xxx/tools/share/vim/vim73/filetype.vim
7: /home/users/xxx/tools/share/vim/vim73/plugin/getscriptPlugin.vim
8: /home/users/xxx/tools/share/vim/vim73/plugin/gzip.vim
9: /home/users/xxx/tools/share/vim/vim73/plugin/matchparen.vim
10: /home/users/xxx/tools/share/vim/vim73/plugin/netrwPlugin.vim
11: /home/users/xxx/tools/share/vim/vim73/plugin/rrhelper.vim
12: /home/users/xxx/tools/share/vim/vim73/plugin/spellfile.vim
13: /home/users/xxx/tools/share/vim/vim73/plugin/tarPlugin.vim
14: /home/users/xxx/tools/share/vim/vim73/plugin/tohtml.vim
15: /home/users/xxx/tools/share/vim/vim73/plugin/vimballPlugin.vim
16: /home/users/xxx/tools/share/vim/vim73/plugin/zipPlugin.vim

可见所有和语法及颜色相关的脚本都已经加载了,应该不是它们的问题。

在看.vimrc配置文件

  1 set nocompatible        " Vim settings, not Vi settings.  must be first
2 set autoindent
" Auto align when insert new line, for instance, when using o or O to insert new line.
3 set ruler " Show ruler at the bottom-right of vim window
4 set showcmd
5 set backspace=indent,eol,start
" Enable delete for backspace under insert mode"
6 colorscheme darkblue
7 set number
" Show line number
8 syntax on
9 if &term =~ "xterm"
10 if has("terminfo")
11 set t_Co=8
12 set t_Sf=^[[3%p1%dm
13 set t_Sb=^[[4%p1%dm
14 else
15 set t_Co=8
16 set t_Sf=^[[3%dm
17 set t_Sb=^[[4%dm
18 endif
19 endif

从第9行开始,如果用的是xterm,那就就进行下面的颜色设置,那么如果系统用的不是xterm呢?于是赶紧查看,在shell终端输入如下命令

echo $TERM

结果如下

vt100+

果然不是xterm,怪不得没有颜色。

解决办法:打开shell配置文件,.bash_profile或.bashrc加入下面一行

TERM=xterm
export TERM

重新敲一下bash,再次运行vim,颜色来啦!兴奋!

posted on 2012-01-10 10:32  perlman  阅读(48011)  评论(4编辑  收藏  举报

导航