前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vim自定义高亮分组以及一些实用技巧小结

Vim自定义高亮分组以及一些实用技巧小结

作者头像
砸漏
发布2020-10-19 11:21:12
2.4K0
发布2020-10-19 11:21:12
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

前言

Linux下的Vim代码编辑器简单好用,但是本身对编程语言的关键字高亮及配色需要用户自己设置。下面这篇文章主要就给大家介绍了关于Vim自定义高亮分组及实用技巧的相关内容,需要的朋友们下面来一起看看吧。

highlight

在 Vim 中,我们可以自定义一些颜色分组,并将其应用于某些符合特定模式的字符串中,这些分组就成为高亮分组(highlight group)。

我们可以直接在命令行模式中输入 highlight 命令,后面不跟上任何参数,这样就能查看当前 Vim 中所有的高亮分组信息。

代码语言:javascript
复制
:highlight

这里定义一个名为 myColor 的高亮分组,将背景颜色设置为紫色:

代码语言:javascript
复制
:highlight myColor ctermbg=purple guibg=purple

我们使用 highlight 命令来定义高亮分组,后面跟上分组名和颜色模式。其中,ctermbg 表示命令行中的背景色,guibg 表示 GUI 界面中的背景色。类似的还有 ctermfg、guifg,分别表示命令行前景色和 GUI 界面前景色。

还可以直接为已有的高亮分组起别名,只需要将新的分组连接到已有的分组即可。

代码语言:javascript
复制
highlight link {newgroup} {oldgroup} 

定义完高亮分组后,我们可以将它应用到文本中。接下来,我给大家介绍几种设置高亮的方法。

match

match 命令用于在当前窗口中设置高亮模式,格式如下:

代码语言:javascript
复制
:match {group} /pattern/

例如,我们将所有的数字都用 myColor 分组进行高亮显示:

代码语言:javascript
复制
:match myColor /\v\d+/

match 命令的特点是同一时刻只能使用一种高亮模式,当设置新的高亮模式时,旧的高亮模式会被取消。

如果要同时高亮多个模式,可以使用 2match 和 3match 命令,它们的语法和功能与 match 相同,但每个命令每次只能设置一种高亮模式。

代码语言:javascript
复制
:2match myColor /anotherPattern/

取消高亮

代码语言:javascript
复制
:match none
:2match none
:3match none

syntax match

syntax match 命令用于设置语法高亮,格式如下:

代码语言:javascript
复制
:syntax match {group} pattern

例如,我们将引号包围起来的内容使用 myColor 分组高亮显示:

代码语言:javascript
复制
:syntax match myColor /\v"\w+"/

取消高亮

代码语言:javascript
复制
:syntax clear

syntax keyword

syntax keyword 命令用于设置关键字高亮,格式如下:

代码语言:javascript
复制
:syntax keyword {group} word1 word2 ...

例如,我们把 hello 和 world 两个单词作为关键字进行高亮:

代码语言:javascript
复制
:syntax keyword myColor hello world

取消高亮

代码语言:javascript
复制
:syntax clear

实用技巧

搜索结果高亮

Search 是匹配文本时默认使用的高亮分组,我们可以自定义该分组的颜色,下面的代码将使搜索结果以绿色的背景展示出来。

代码语言:javascript
复制
:highlight Search ctermbg=green guibg=green

超长文本高亮

编写代码时,常常会遇到一行中代码过长的情况,我们可以通过设置高亮实时检测是否有超长的代码。

代码语言:javascript
复制
:highlight rightMargin term=bold ctermfg=blue guifg=blue
:match rightMargin /.\%>72v/

上面的命令会将一行中超过72个字的部分用蓝色字体高亮显示。

行尾空格高亮

我们经常会遇到行尾有多余空格的情况,但正常情况下,很难发现这些多余的空格。使用高亮来显示这些空格再合适不过了。

代码语言:javascript
复制
:highlight extraSpace ctermbg=red guibg=red
:match extraSpace /\v\s+$/
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档