LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3550|回复: 13

关于VIM颜色的问题

[复制链接]
发表于 2006-4-12 11:26:24 | 显示全部楼层 |阅读模式
系统是 Slamd64 10.2b,安装好系统之后因为没有 framebuffer 的支持以及电视卡声卡等驱动问题重新编译了核心 (2.6.14.6)。然后就发现了奇怪的问题:
把原先的 /home 分区挂载后在不启动 X 时 VIM 的颜色都正常,但在任何一个图形终端中都无法正常显示颜色,只能区别黑白和粗细 ( .vimrc 文件没问题,因为这个 /home 分区用了很久了,而且是共用的 )
现在我怀疑是配置核心的时候不小心去掉了某个选项,不知道大家知不知道是什么原因?

  1. [hzg@PSI:.fvwm]$ uname -a
  2. Linux PSI 2.6.14.6 #1 SMP PREEMPT Thu Apr 6 18:15:39 CST 2006 x86_64 Intel(R) Celeron(R) CPU 2.80GHz GenuineIntel GNU/Linux
复制代码

.

  1. [hzg@PSI:.fvwm]$ vim --version
  2. VIM - Vi IMproved 6.3 (2004 June 7, compiled Sep 11 2005 20:05:53)
  3. Included patches: 1-86
  4. Compiled by root@slamd64
  5. Big version with GTK2 GUI.  Features included (+) or not (-):
  6. +arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
  7. +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
  8. +cryptv +cscope +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval
  9. +ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer
  10. +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap
  11. +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession
  12. +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm
  13. +mouse_netterm +mouse_xterm +multi_byte +multi_lang +netbeans_intg -osfiletype
  14. +path_extra -perl +postscript +printer -python +quickfix +rightleft -ruby
  15. +scrollbind +signs +smartindent -sniff +statusline -sun_workshop +syntax
  16. +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse
  17. +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual
  18. +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup
  19. +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save
  20.    system vimrc file: "$VIM/vimrc"
  21.      user vimrc file: "$HOME/.vimrc"
  22.       user exrc file: "$HOME/.exrc"
  23.   system gvimrc file: "$VIM/gvimrc"
  24.     user gvimrc file: "$HOME/.gvimrc"
  25.     system menu file: "$VIMRUNTIME/menu.vim"
  26.   fall-back for $VIM: "/usr/share/vim"
  27. Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include     -O2
  28. Linking: gcc   -L/lib64 -L/usr/lib64 -L/usr/local/lib -o vim   -L/usr/lib64 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -lXt -lncurses -lgpm
  29. [hzg@PSI:.fvwm]$
复制代码

.vimrc 中关于语法高亮的配置语句:

  1. if &t_Co > 2 || has("gui_running")
  2.   syntax on
  3.   set hlsearch
  4. endif
复制代码
发表于 2006-4-12 13:33:18 | 显示全部楼层
我也想知道,我还比较喜欢黑白的那种。
回复 支持 反对

使用道具 举报

发表于 2006-4-14 13:30:38 | 显示全部楼层
首先,确认你用的是vim,而不是 elvis。
再看是不是终端vim不认识。

反正我su成root后就没有颜色了。
回复 支持 反对

使用道具 举报

发表于 2006-4-14 14:43:22 | 显示全部楼层
这是我的.vimrc文件,要不试试看吧.
" 使用 murphy 调色板
colo murphy
" 设置用于GUI图形用户界面的字体列表。
set guifont=Fixedsys\ Excelsior\ 2.00\ 13
"
set nocompatible
" 设定文件浏览器目录为当前目录
set bsdir=buffer
set autochdir
" 设置编码
set enc=chinese
" 设置文件编码
set fenc=chinese
" 设置文件编码检测类型及支持格式
set fencs=gbk,utf-8,ucs-bom,gb18030,gb2312,cp936
" 指定菜单语言
set langmenu=zh_CN.GBK
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

"显示行号
set nu!
" 查找结果高亮度显示
set hlsearch
" tab宽度
set tabstop=4
set cindent shiftwidth=4
set autoindent shiftwidth=4
" C/C++注释
set comments=://
" 修正自动C式样注释功能 <2005/07/16>
set comments=s1:/*,mb:*,ex0:/
" 增强检索功能
set tags=./tags,./../tags,./**/tags
" 保存文件格式
set fileformats=unix,dos
" 键盘操作
map <Up> gk
map <Down> gj

set nocompatible
set bs=2
set tw=72
set cindent
set mouse=a
set nowrapscan
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
set showmatch
set showmode
set uc=0
set t_kD=^?
map ^H X
map \e[3~ x
set mousehide
set hlsearch
"let c_comment_strings=1

syntax on
"set columns=120
"set lines=380
回复 支持 反对

使用道具 举报

发表于 2006-4-14 14:58:11 | 显示全部楼层
应该不关核心的事,你试试看直接在命令模式下":sy on"
回复 支持 反对

使用道具 举报

发表于 2006-4-14 15:23:25 | 显示全部楼层
楼主说的情况不是没有语法加亮。是没有颜色。写东西的时候关键字是加粗的,类似 elvis。有几个小 Linux 版本中VIM就是这个样子。NetBSD中也是如此。不知道是何处在控制着。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-6 13:49:34 | 显示全部楼层
现在发现这个现象不关 vim 的事,我用 emacs 一样也没有颜色,具体情况是 vim 及 emacs-21.4-no-x11 在没有起动 X 的时候能正常显示各种颜色,在 X 环境下的终端中就没有颜色,gvim 以及 emacs-21.4-with-x11 都是正常的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-6 13:57:57 | 显示全部楼层
Post by 独行侠

再看是不是终端vim不认识。

看起来是 X 终端无法满足这个 if 条件( &t_Co > 2)。我试了常用的几个 X 终端:rxvt,xterm,还有 konsole。但都是一个效果。

  1. if [color=red]&t_Co > 2[/color] || has("gui_running")
  2.   syntax on
  3.   set hlsearch
  4. endif
复制代码

:ask
回复 支持 反对

使用道具 举报

发表于 2006-5-6 14:18:41 | 显示全部楼层
env | grep TERM

输出结果是什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-6 14:31:07 | 显示全部楼层
  1. [hzg@PSI:~]$ env | grep TERM
  2. TERM=xterm
  3. COLORTERM=
复制代码

是不是“COLORTERM”为空造成的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表