問題起因,在兩台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,顏色來啦!興奮!