linux vi 出现下划线,Vim高亮当前行(显示为下划线)的解决方案

最近配置Vim,由于以前的vimrc早已丢失,只好重新配置一份,此为题外话,略过不提…

在Vim中,可以选择开启高亮当前行,这是一个很不错的特性。开启它也很简单,只需要在vimrc中加入这么一行:

1

set cursorline

或者

1

set cul

即可。

在gvim中,这样配置一般都能起作用,你会看到当前行被高亮了。但是在终端中,却很可能会出现问题,如果你发现本该被高亮的行没有高亮,而行底部却出现了一条下划线的话(如下图),就需要做一些额外的配置了。

d73b23eb1882d25ad33e6ae5176e19a9.png

Vim中有一个命令叫highlight,通过它可以自定义或者查看很多元素的配色方案,具体的作用可以自行:help highlight查看,我们用它来对高亮行做一些设置。

在vimrc中加入:

1

hi CursorLine term=bold cterm=bold ctermbg=Red

别忘了加载配置。

嗯,当前行不仅被高亮成了红色,而且还变成了粗体,这就是命令中bold和Red的效果,其中cterm=bold就是指定在终端中被高亮的行变为粗体,而 ctermbg=Red就是指定高亮行在终端中的背景色,其他的选项还有ctermfg(前景色),guibg(gvim中的背景色)等等,这里就不赘述了。

这里是term=或cterm=等可选的选项:

6caaff2e7596e3aff67bcfae95b840cb.png

这里是ctermbg=可选的颜色:

8872588d9c850d800c184649cb203cee.png

前面的数字有什么用,我就不细说了。这里可以看到,有若干定义好的颜色可供选择,比如上面ctermbg=Red就是选择了这里的红色。

可能很多人和我一样,每种颜色都试了那么一下,却发现全部都不满意,自然而然的会想到,能否用RGB的形式自定义颜色呢?让我们先来试验一下,修改命令为:

1

hi CursorLine term=bold cterm=bold ctermbg=#FFD4E4

很可惜,你会得到vim的error信息:

07b7e97748822e264985e80153ceccc0.png

难道就没办法自定义颜色了吗?别急,虽然无法自定义颜色,却可以让可选择的颜色多一些,Vim中默认的这几种颜色是为8位色终端定义的,应该是为了兼容一些很原始的环境。比如我的环境是CentOS Linux release 7.2.1511 (Core),不带图形界面。CentOS的终端默认开启的是8位色模式,查看自己的终端所处的颜色模式,可以在shell中输入:

1

echo $TERM

如果打印的结果中不含有256color,就表明你的终端并没有开启256色模式,可供选择的颜色可能不足。我们可以将终端配置为256色模式,以我的环境为例,执行以下命令:

1

sudo sh -c "echo 'export TERM=xterm-256color' >> /etc/profile"

回到Vim,执行:

1

:hi CursorLine term=bold cterm=bold ctermbg=237

高亮行的背景变成了淡淡的灰色

9c8412ff37aca24a8631dd7f0d3e50c6.png

这里的ctermbg=237是256色中某个颜色的编号,可以查询这里256色展示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值