红联Linux门户
Linux帮助

Vim中文支持及颜色配置

发布时间:2014-11-07 10:26:41来源:Linux公社作者:Linux公社

VIM中文支持问题:

Vim语言设置,编码可能一直是操作系统要处理的一个麻烦问题.
我的Linux上有不少的gb2312 的文件.没法子,只有让Vim也支持他啦。
如果你的系统你自己的主目录中有.vimrc就加入下面二行,如果没有,就建一个这个文件.
let &termencoding=&encoding
set fileencodings=utf-8,gbk,ucs-bom,cp936

记的保存哦.然后在用Vim打开看看,UTF8和GB2312都没有问题.


gedit支持gb2312:
修改打开gedit的默认编码为GB2312
方法: gconf-editor-->app-->gedit2-->preferences-->encodings-->auto_detected加入编码GBK,或者GB2312
encodings有2个属性,auto_detected和shown_in_menu,实在是不会了,仿照shown_in_menu写就可以了


vim 颜色配置
喜欢gnome-terminal颜色配置中的White on black,和Xterm,很不喜欢Linux console配色(比如文件夹)等,写程序的时候,默认的配色也不是很爽,特别是注释和折叠行的颜色,受不了。
遂google了一下,学习到了解决方案。
vim安装时是有带各种配色脚本的,位于/usr/share/vim/vim71/colors/*,我们可以拷贝到自己的文件夹下面:
/usr/share/vim/vim71/colors/* ~/.vim/colors/   (没有就自己建个colors)
在vim中使用:colorscheme morning命令即可使用morning配色,该命令自动读取~/.vim/colors/下面的文件(去掉后缀)。


然后一个一个实验各种配色方案,发现linux默认的配色使用的是peachpuff.vim,而自己不满意的就是默认中的折叠的颜色,虽然为灰白色,时间
长了,仍感觉很刺眼。而desert.vim中的注释行的颜色很不错,是darkyan,即为暗青色,很养眼,颜色行为desert.vim的96行:
hi Comment      ctermfg=darkcyan
既然找到了养眼的颜色,那就把这个darkyan放到peachpuff.vim中吧。
在peachpuff.vim中的40行是折叠的配色:
hi Folded term=standout ctermfg=4 ctermbg=7 guifg=Black guibg=#e3c1a5
改为如下:
hi Folded term=standout ctermfg=darkcyan ctermbg=NONE guifg=Black guibg=#e3c1a5
最后想要默认使用这个配色,需要在.vimrc中使用如下命令:
"######## for color in vim ################
colorscheme peachpuff


必要相关知识介绍:
如果你不满足于使用现成的颜色主题的话,那我们来看一下如何修改环境配色。首先要掌握的命令是:highlight。
" 使用默认的高亮(移除用户定义的高亮,即根据'ft'重新载入语法文件)
:hi clear
  
" guifg表示图型介面(gui)下的前景色(ForeGround)
" guibg表示图型介面(gui)下的背景色(BackGround)
:hi {组} guifg={值} guibg={值}
:hi


命令时一直都是以图形介面(gui)为例设置前景和背景色。由于命令终端对颜色显示的限制,Vim在命令行下可以使用的颜色相对gui
要少得多,所以使用:hi命令时图形介面和命令行介面的颜色是分开设置的。对于黑白终端来说就无所谓颜色了,而彩色终端用cterm来表示,前景色就是
“ctermfg”,而背景色是“ctermbg”。下面是一个表格:
终端类型  前景色      背景色      注释
term           -              -              黑白终端
cterm     ctermfg    ctermgb       彩色终端
gui          guifg        guibg          图形介面


最后是自己的.vimrc:
"created by liuhongdan 10-24-2007
set foldmethod=syntax           "default is manual
"set mouse=a                    "enable mouse
"####### for ctags ##############
set tags=tags;
"####### for taglist ############
let Tlist_Show_One_File = 1
"let Tlist_Use_Right_Window = 1 "default left, use this for rigth
let Tlist_Exit_OnlyWindow = 1
"let Tlist_WinWidth = 23
nnoremap   :TlistToggle
"####### for winmanger #########
let g:winManagerWindowLayout='FileExplorer|TagList'
let g:winManagerWidth = 30
nnoremap   :WMToggle
"######## for utf-8,gb2312######06-24-2008
let &termencoding=&encoding
set fileencodings=utf-8,gbk,ucs-bom,cp936
"######## for color in vim ################
colorscheme peachpuff


修改bash中文件夹的颜色

dircolors >;>; ~/.bashrc

然后修改一下~/.bashrc里面的LS_COLORS的设置里di=.....的设置,把34改成36,看着就清楚一些了。