VIM 的色彩配置相关的问题

来源:互联网 发布:怎样测网络的稳定性 编辑:程序博客网 时间:2024/03/29 16:45
今天终于把我的工作环境配置的算是点满意了,同时也对这个颜色配置这个东西的理解上了个阶梯。于是记录一下备忘。

首先发现一个问题,字体的颜色显示结果很可能是跟终端有关系的。比如,同样的配置文件,用putty链接主机的显示效果和在桌面上用terminal上打开的效果完全不同。
这里就不讨论putty的问题了,由于色彩效果太差,如果有需要远程登录的以后会用VNC来解决,putty就做个简单配置连接算了,不作为主要编辑方式了。

下面提到的是桌面上的cterm方案,目前在debian上使用感觉比较满意。

首先是终端的配色,默认系统颜色是白底黑字,看上去有些过于晃眼。我喜欢比较暗淡一些的颜色。其实bg=黑色,前景色用墨绿色是个很好的方案。但是有个问题:因为一般不同的文件会有不同的颜色来显示,而普通文件一般用白色。在我系统上默认的可执行文件的颜色是绿色系的,所以如果普通文件也用绿色会分不太清。因此我最终采用的配色方案问:背景色为:#2D2D2D,前景色为:#BBBBBB。 就是深灰色底色,浅灰色前景。效果还不错。

之后是vim的配置。以前多次想搞明白怎么改vim的色彩以满足自己需求,这次终于略有小成了。

首先是搞个local的文件夹。vim的系统文件在vim里叫做$VIMRUNTIME,在Linux下面一般是/usr/share/vim/vim72。 local的话在$HOME下面建立一个.vim/ 的隐藏文件夹,像$VIMRUNTIME下一样建立各种配置的文件夹。比如自己的配色方案放在~/.vim/colors下面,准备工作就做好了。

然后当然是vimrc里面要打开语法高亮: set syntax on。 这里面有个概念,我一直不理解语法文件和配色文件是如何各司其职的。现在的感觉应该是这样子的:语法文件只是定义了一些模式的匹配方式。比如在Vim中,有的模式叫comment注释,有的模式叫做类型type,有的模式叫做语句(statement)。Vim根据扩展名去查找相应的语法文件,然后对其中的文本进行模式匹配。以C++为例的话,它可能碰到#开头的东西,就知道是与处理器指令,就把这些东西归为PreProc这个模式。碰到int,char, double这些,就知道是个类型。因此会将其归为type这个模式。碰到if, while 之类的,就归为statement这个模式。总共有哪些模式,是由Vim定义的。而怎么触发这些模式的匹配,比如是用 // 表示注释还是 # 表示注释,这个是语法文件来定义的。

因此,有了这些基础之后,Vim的配色方案里面其实就做很简单的事情。我来定义不同的语法项(前面所说的模式》用什么颜色来表示。比如,darkblue这个配色方案中规定,cterm下,comment 用 darkred显示,Constant用magenta显示,Statement用yellow显示等等。如下图:

话说回来,这个darkblue的配色方案其实是针对gui下说的。cterm下面其实不是蓝色的,不过我很喜欢那个灰色的样子。
所以,想改哪个类型的颜色的话,将配色方案中的颜色改掉就好了。具体支持哪些颜色呢? 这个可以从help中找到。 在vim中,用:help cterm-colors,就可以找到如下的描述:


这样想要什么颜色就改就好了。如果想找gui下的颜色,可以类似用:help gui-colors之类的方式。

另外,如果对某一项专门想改变字体的话,可以用cterm=bold或者gui=bold 的方式进行。

有个需要注意的地方是,不同颜色的字体看上去粗细不是一样的。即使都是normal的字体下。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绒癌观察期怀孕怎么办 宝宝囱门闭合晚怎么办 慢性硬脑膜下血肿复发怎么办 佝偻病导致囟门晚闭怎么办 儿童液体补多了怎么办 脑脊液鼻漏3年了怎么办 结石掉到膀胱里怎么办 肾结石引起的腰疼怎么办 肾结石小但很疼怎么办 狗狗得了尿结石怎么办 生理期第四天必须游泳怎么办 碎石后吐的厉害怎么办 白细胞高红细胞高血尿怎么办? 早期肾癌术后复发该怎么办 肾结石因运动引起尿血怎么办 宝宝大便镜检阳性潜血怎么办 尿不尽刺痛带血怎么办 狗狗拉肚子拉血怎么办 肾血肿怎么办才吸收快 体检尿蛋白高3怎么办 肾炎会引起脸肿怎么办 12小孩尿蛋白3是怎么办 肝癌介入手术后肝功能不好怎么办 屁多且臭便秘怎么办 肝癌术1年后复发怎么办 怀孕便秘怎么办或大便太干拉不出 肠鸣便秘怎么办多尿 奥司他韦过量怎么办 憋的时间长尿痛怎么办 手过敏了怎么办最简单 肾结石不痛但是有血尿怎么办 儿童医院血液科挂不到号怎么办 搬完重物手抖怎么办 弯腰搬重物腰疼怎么办 搬了重物后腰疼怎么办 例假不走公务员体检血尿怎么办 憋尿久了尿不出来怎么办 憋尿引起的总有尿意怎么办 如果孕妇憋尿了怎么办 孕妇憋尿半个月怎么办 尿憋久了排空后膀胱疼怎么办