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

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

1

set cursorline

或者

1

set cul

即可。

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

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=等可选的选项:

这里是ctermbg=可选的颜色:

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

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

1

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

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

难道就没办法自定义颜色了吗?别急,虽然无法自定义颜色,却可以让可选择的颜色多一些,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

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

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

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

  1. word一打字就有下划线_word 一打字下面就有下划线 但是空格就不出下划线

    最近,有网友向小编询问:word下划线怎么打?关于这个问题,小编表示需要分情况来说明,比如说需要打的是很短的下划线还是一行下划线,还是一个下划线,根据这个思路,小编就为大家整理了word打出下划线的多 ...

  2. Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略

    Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略 目录 双下划线介绍 1.关于双下划线的函数或方法或属性 双下划线介绍 1.关于双下划线的函数或方法或属性 __name_ ...

  3. php css下划线,css下划线如何设置?css设置文字下划线的方法介绍

    在网页中默认情况下文字字体是没有下划线样式的,但是有时候我们在网页中会看到不是链接的文字下面会有一行下划线,那么这个下划线样式是怎么实现的呢?本篇文章就来给大家介绍一下css设置文字下划线的方法,接下 ...

  4. htmla标签下划线去除_html超链接的下划线怎么去掉?a标签去下划线的方法都在这里...

    本篇文章就是关于html超链接取消下划线的用法,教你如何快速的去掉HTML超链接下划线的方法,最后还有相关代码解释,下面就让我们一起看看这篇文章吧 首先我们使用css的基础样式来做一个最简单的去下划线 ...

  5. matlab 中在图的title中放入多个变量的值,以及正确显示带有下划线的字符串

    转载自:https://blog.csdn.net/ldj1208/article/details/51445835 https://blog.csdn.net/lingyunxianhe/artic ...

  6. php变量前边下划线_【变量】关于单下划线、双下划线开头变量的含义

    C语言中变量/函数命名以单下划线(_)和双下划线(__) 开头的意义 以单下划线(_)表明是标准库的变量 双下划线(__) 开头表明是编译器的变量 建议自己在命名的时候不要用下划线开头,避免与标准库中 ...

  7. html字体下划线怎么打出来,字下面的下划线怎么打?

    字下面的下划线怎么打?本文介绍word 文档下面的字打上下划线和html中文字打上下划线,分别实现的方法! 一.word 文档下面的字打上下划线的方法 选中要打下划线的文字,使用快捷键Ctrl+U,即 ...

  8. java 下划线转驼峰命名_Java驼峰命名 下划线命名 互转

    使用场景 sql字段转为java字段,直接从数据库通过sql语句 取出来的数据都是数据库字段,如果需要反射实例化对象 则需要把从下划线命名转为驼峰命名. /*** * 下划线命名转为驼峰命名 * * ...

  9. html不用css超链接去掉下划线,div css之去掉a超链接下划线样式

    一.去掉字体下划线装饰CSS属性格式代码 text- 解释: CSS下划线格式单词:text- 不闪现下划线(去掉字体下划线花色):none 二.网页重构前初始化去掉超链接下划线 由于有的浏览器默认情 ...

最新文章

  1. web进修之—Hibernate 继承映射(5)
  2. java yii_一条路线不起作用(yii)
  3. PHP问题 —— It is not safe to rely on the system's
  4. 博客园客户端(睡睡版iphone)源码
  5. 稳定工作和创业之间的抉择
  6. 黑客——技术的凝聚者???
  7. android启动效果
  8. 小码农也有大梦想!最小公倍数java算法
  9. 网络采集软件核心技术剖析系列(1)---如何使用C#语言获取博客园某个博主的全部随笔链接及标题...
  10. Python 基础课程第四天
  11. 编译android7.0出现的错误ninja: build stopped: subcommand failed.
  12. 无线网络 设置网关和服务器,我家的网络连接的IP是 192.168.1.223 我想问网关是多少 服务器是...
  13. 时间序列分析实验报告总结_时间序列分析实验报告
  14. 低功耗MCU的选择方法
  15. python入门小程序:华氏度和摄氏度换算
  16. android游戏开发系列(2)——背景音乐播放技术
  17. IDEA中建包时如何把包分开
  18. i5 12600k参数 i512600k评测
  19. 武汉云数时代网络科技有限公司网店代运营托管优势?
  20. 树莓派基础实验11:U型光电传感器实验

热门文章

  1. pandas concat_pandas-数据合并-concat(最全参数解释,含代码和实例)
  2. java代码中何处以main开始_自测题: Java 基础
  3. java中get接口示例_Java LocalDateTime类| 带示例的get()方法
  4. java 根据类名示例化类_Java LocalDateTime类| 带示例的getNano()方法
  5. 被一个熟悉的面试题问懵了:StringBuilder 为什么线程不安全?
  6. 面试干货 | Java 能否自定义一个类叫 java.lang.System?
  7. js提取正则中的字符串
  8. C# ArrayList 与 string、string[] 的转换
  9. C#获取屏幕大小的“简单整理”。。
  10. Oracle-1 / Oracle及PlsqlDeveloper的设置