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色展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springBoot 简单优雅是实现文件上传和下载

前言 好久没有更新spring Boot 这个项目了。最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来。刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架,将文件上传和下载整理进来。 配置 在application.properties 中增…

C语言的VC开发环境界面介绍,【c语言在vc++6.0中编写界面程序】

到现在为止,C 仍然是计算机编程领域的经典语言之一,C 17 标准在2017上半年已经探讨确定。本期我们汇集了编程专家——祁宇(《深入应用 C 11》作者,C 开源社区 purecpp.org 创始人)的多年心得小结,并具体介绍了 C 17 最新标准中值得…

SpringBoot+VUE 前端加密算法 RSA+DES

前言 为了提高用户登陆的安全性,公司准备整理一份相对安全的登陆模式。 想法 主流加密算法 主流加密算法 (一)对称加密AES ,其特点是:算法简单,加密速度快; (二)非对称加密方式&…

spring cloud微服务_年后进大厂,必备这份微服务面试题:Dubbo+SpringBoot+Cloud

Dubbo面试题Dubbo与DubboX区别Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?Dubbo中有哪些角色?Dubbo在安全机制方面是如何解决的Dubbo执行流程?Dubbo支持的协议有哪些&#xff1…

c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统 报告(内含代码).doc...

C语言程序设计姓名:张强强学号:20121003695班序号:011121前言:C语言是近年来国内得到迅速推广使用的一种计算机语言。C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,无论是计算机专业还是非计算器专业…

前端 - token 是什么?为什么每次请求头(HEADS)里要携带它?___请求时,为什么要携带token?

前端 - token 是什么?为什么每次请求头(HEADS)里要携带它? Token token 是客户端频繁向服务器端请求数据,服务器频繁的去数据库查询用户名和密码进行对比,判断用户名和密码正确与否,并作出相应…

全栈工程师薪水_2020 Java 全栈工程师进阶路线图,不可错过

技术更新日新月异,对于初入职场或者刚开始学习的同学来说,经常会困惑该往那个方向发展,这一点所有刚开始学习的人基本都有这个体会的。刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,…

5乘7的c语言程序,C语言程序设计实验5-7教案(20页)-原创力文档

第 7-8 次课程名称 程序设计基础 课程性质 实验课授课班级 网络 16-1 、2 授课地点 14022016 年 11 月 9 日第 5 小节 ~第 8 小节授课时间 2016 年 11 月 16 日第 5 小节~第 8 小节2016 年 11 月 23 日第 5 小节~第 8 小节课题: 实验六、 数组的应用—— 4 学时主要…

python手机安装模块_python如何安装模块 模块安装操作教程

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,设计具有很强的可读性,相比其他语言经常使用英文关键字,它具有比其他语言更有特色语法结构。那么Python的安装模块该怎么使用呢?让小编来教一下各位吧。模…

cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别

cookie 和 token 都存放在 header 中,为什么不会劫持 token? cookie:登录后服务端生成的sessionid,并在http请求里返回到客户端,同时服务端保存sessionid,以后客户端的每次http请求都带上cookie(sessionid…

语言inc c,汇编语言练习

习题一1.在计算机内部,计算机能够直接执行的程序语言是。A.汇编语言 B。C语言C.机器语言 D。高级语言2.在堆栈段中,存放栈顶地址的寄存器是。A.IP B.SP C&…

python降维之时间类型数据的处理_使用Python进行数据降维|线性降维

前言为什么要进行数据降维?直观地好处是维度降低了,便于计算和可视化,其深层次的意义在于有效信息的提取综合及无用信息的摈弃,并且数据降维保留了原始数据的信息,我们就可以用降维的数据进行机器学习模型的训练和预测…

cookie、Session、Token、sessionStorage、localStorage简介__Token放在 cookie, sessionStorage 和 localStorage中区别

cookie、Session、Token、sessionStorage、localStorage简介 cookie 是一个非常具体的东西,只得是浏览器里永久存储的一种数据,是浏览器实现的一种数据存储功能。Cookie在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时&#xf…

歌星大奖赛C语言程序,C_歌星大奖赛

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。*问题分析与算法设计这个问题的算法十分简单,但是要注意在程序中判断最大、最…

c语言树莓派音乐播放器,使用web端来控制我的树莓派播放音乐

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?web端控制树莓派播放音乐,PHPNodeJSmpg123,粗糙版。实现后还可以做个app什么的。代码git用到的代码内容可以在这里看~nodempg.js启动一个se…

Nginx学习_狂神

Nginx 公司产品出现瓶颈? 我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。 但是慢慢的,使用我们平台的用户…

c语言中运算符的读音是什么,操作符、运算符,operator,音标,读音,翻译,英文例句,英语词典...

补充资料:二进制算术运算二进制算术运算binary arithmetic operation二.165. 原码两位索法为了提高运算速度,在1次操作中可同时考虑两位乘数,求得与两位乘数相对应的部分积,其速度比一位乘法提商1倍,规则如下: 又丫1二…

python怎么重复输出_如何根据输出在Python中重复函数?

你可以用while循环来实现这一点。只要没有break或sys.exit,它就返回到start,这意味着这里的每一个错误输入。希望这有帮助def read_the_file(output):while True:print """Do you want me to read your newly created file?Type [Y]es o…

C语言读取load格式文件,求指导,如何用c语言实现读取*.raw格式图像

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*** 这个程序是读取jpg图像的** 后续加上jpg图像打开和存放*/ #include #include #include #include #include #define SOI 0xD8 //文件头#define EOI 0xD9 //文件尾#define APP0 0xE0 //定义交换格式和图像识别信息#define SOF0 …

js当前时间格式化_JS时间格式化

因为new Date().toLocaleString() 在安卓和ios上的格式不一致,所以尽量自己写format生成一个时间数组作为一个简单的举例,我序列化一周的时间对象声明参数let lastMonth []let daylong 86400000判断时间值是否小于9const formatNumber num > { num…