热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

VimVi基本上是*nix世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和Emacs比起来,Vim更加有亲和力,用起来很舒服。那么下面这篇文章主要给大家介绍了关于Vim自定义高亮分组以及一些实用技巧的相关资料,需要的朋友可以参考下。

前言

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

highlight

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

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

:highlight

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

:highlight myColor ctermbg=purple guibg=purple

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

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

highlight link {newgroup} {oldgroup} 

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

match

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

:match {group} /pattern/

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

:match myColor /\v\d+/

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

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

:2match myColor /anotherPattern/

取消高亮

:match none
:2match none
:3match none

syntax match

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

:syntax match {group} pattern

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

:syntax match myColor /\v"\w+"/

取消高亮

:syntax clear

syntax keyword

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

:syntax keyword {group} word1 word2 ...

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

:syntax keyword myColor hello world

取消高亮

:syntax clear

实用技巧

搜索结果高亮

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

:highlight Search ctermbg=green guibg=green

超长文本高亮

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

:highlight rightMargin term=bold ctermfg=blue guifg=blue
:match rightMargin /.\%>72v/

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

行尾空格高亮

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

:highlight extraSpace ctermbg=red guibg=red
:match extraSpace /\v\s+$/

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


推荐阅读
  • 如何在Linux环境中高效地创建、编译与运行C语言代码
    本文面向第一次在linux尝试写C语言程序的新人。有经验的请绕行。C语言用法不是本文介绍的关键,本文只是引入如何第一次在linux系统下编写、编译和执行一个简单的c程序。学会后请自行深入 ... [详细]
  • BashShell作为Linux的指定合作伙伴我们已经再熟悉不过了,使用Bash可以快速编写简单的脚本方便我们的日常比如善用vim,awk和sed三剑客,也可以创建十分复杂的逻辑, ... [详细]
  • Python数据分析入门指南:全面了解Python在数据科学中的应用 ... [详细]
  • 在 openSUSE Tumbleweed 系统上搭建 51 单片机开发环境并进行编程实践。首先,通过 `sudo zypper in emacs` 命令安装文本编辑器 Emacs。接着,使用 `sudo zypper in sdcc` 安装 SDCC 编译器。最后,利用 `wget` 下载 sdcflash Python 脚本,以便于单片机的烧录和调试。此外,还介绍了如何配置开发环境,确保各组件协同工作,提高开发效率。 ... [详细]
  • Lunix历史及如何学习
    1.Lunix是什么1.1Lunix是操作系统还是应用程序Lunix是一套操作系统,它提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构, ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • ANSI
    ANSI是什么编码?用Notepad创建一个文本文件text.txt,其默认编码格式为ANSI(乍看之下,还以为是ASCII ... [详细]
  • 【技术分享】如何通过恶意插件在Atom中植入后门
    【技术分享】如何通过恶意插件在Atom中植入后门 ... [详细]
  • Haskell学习笔记:探索函数式编程之美
    使用教材:《learnyouaHaskell》,中文1-8章戳我准备工作。编译器&调试器:安装HaskellPlatform, ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • https:www.hollischuang.comarchives74 对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE ... [详细]
author-avatar
马丁乐_449
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有