终端VIM使用Solarized配色

终端VIM使用Solarized配色的方法

GVIM使用了漂亮的Solarized配色方案,非常羡慕,果断尝试了一把,遇到了一些问题,记录下来,一呢留个记录,二呢,可以给需要的朋友作个参考。在终端使用VIM的朋友应当了解,配色分成两个过程,即:

  • 终端配色
  • VIM配色

终端配色

这个过程非常简单,先从github下载需要的配色方案,如:

git clone https://github.com/Anthony25/gnome-terminal-colors-solarized

下载到本地之后,打开README文件,或者在线浏览项目可读到“Install and usage”一节:

  • 先确认已经安装了dconf命令
  • 执行安装脚本, 在shell中执行./install.sh,按提示选择dark或者light的方案,我的推荐是dark。

这一步,基本不会有问题,接下来看VIM的配色

VIM配色

推荐的VIM配色方案地址为:https://github.com/altercation/vim-colors-solarized,该项目的README文件列举了两种安装方法,我使用了Pathogen插件管理工具,所以直接进入推荐的”Pathogen安装”
- Clone

$ cd ~/.vim/bundle

$ git clone https://github.com/altercation/vim-colors-solarized

  • 修改.vimrc配置

    set background=dark
    colorschme solarized

    完成上面的工作之后,打开VIM一看,并不是想要的效果:

    图片位置

DEBUG Solarized显示效果

上图的效果真是令人汗颜,赶紧读上面两位大牛的README:

  • 修改终端的颜色参数
    Anthony25在:“Conclicting background colors in VIM”一节中提到,使用16色终端颜色参数可使VIM显示Solarized的效果看起来像GVIM。在.vimrc中果断修改:

    set t_Co=16

    保存退出后再打开VIM,VIM显示效果如下:

    图片2预留位置

效果乍看是Solarized的效果,但是有两个瑕疵:
1. 状态栏底色与文字颜色相近,根本无法阅读;
2. 打开vim时会有警告提示:

CSApprox skipped; terminal only has 16 colors, not 88/256
Try checking :help csapprox-terminal for workarounds
Press ENTER or type command to continue

  • 修改.vimrc配置vim的solarized scheme参数
    实在是不能忍受这两个问题,于是接着读README文档,在vim-color-solarized项目文档“IMPORTANT NOTE FOR TERMINAL USERS”一节中,作者写道:

    If you are using a terminal emulator that supports 256 colors and don’t want to use custom Solarized terminal colors, you will need to use the degraded 256 colorscheme. To do so, simply add the following line before the colorscheme solarized line:
    let g:solarized_termcolors=256

     为什么要修改上面的设置呢?我们去“Advanced Configuration”一节寻找答案。关于g:solarized_termcolors的介绍是:它的默认值是16,即,Solarized会尝试使用终端的标准16色。所以我们需要作上面的修改。这个地方有两点要提示一下:

    1. 首先删除set t_Co=16
    2. g:solarized_termcolor修改需要放在.vimrc文件的colorscheme solarized行之前。

在上面的修改完成之后,发现vim的背景色是dark背景,我们需要使用终端的背景色,如何使用呢,下面来看g:solarized_termtrans参数:

If you use a terminal emulator with a transparent background and Solarized isn’t displaying the background color transparently, set this to 1 and Solarized will use the default background of the terminal emulator.

从上面的这段话可知,我们需要作如下的修改,让Solarized使用终端的背景:

let g:solarized_termtrans=1

同样需要注意的是,它也需要放在colorscheme solarized行之前。修改完毕,下面看看效果图。

图片3预留位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值