在
VIM
中,高亮的特性被称为
匹配
(matching)
。
使用匹配,
VIM
几乎可以标记任何字符,数字,句子和行及其组合,你甚至可以选择让
VIM
来如何标记,比如用红色标记错误,绿色标记重要的单词等等。
匹配可以使用下面的命令来实现:
:match
Group
/
pattern
/
此命令包含两个参数,第一个参数是在使用高亮的时候所要标记的颜色组
(color group)
的名字。第二个参数是你想要匹配的模式。整个模式是一个正则表达式,根据你想匹配的内容,可能会很简单,也可能会很复杂。一个简单的例子是:
:match ErrorMsg
/^
Error
/
此命令查找所有行的开头
(^
标志
)
是否包含有
Error
,如果找到了匹配,则标记成
ErrorMsg
颜色组的颜色
(
一般是红底白字
)
。
注
:
和可以影响整个颜色设置的颜色配置文件不同,一个颜色组只是一个包含如前景色和背景色的小的组合,用于如匹配等地方。当
VIM
启动的时候,很多颜色组会根据选择的颜色配置文件设置成默认的颜色。
使用下面的命令来获得颜色组的完整列表:
:so $VIMRUNTIME
/
syntax
/
hitest.vim
如果你不喜欢已有的任何一个颜色组,则你可以使用下面的命令来定义自己的颜色组:
:highlight MyGroup ctermbg
=
red guibg
=
red gctermfg
=
yellowguifg
=
yellow term
=
bold
这个命令建立了一个叫
MyGroup
的颜色组,无论是在终端还是在
GUI
中都是红底黄字的。你可以根据自己的喜好来设置下面的选项:
ctermbg : console下的背景颜色
guibg : GVim下的背景颜色
ctermfg : console下的文字颜色
guifg : Gvim下的文字颜色
gui : Gvim的字体描述
term : console 下的字体描述(如bold)
如果修改了已有的颜色组,则将会改变会话以后的颜色组显示。
但使用一个
match
命令后,将会一直匹配到执行一个新的匹配或者执行下面的命令:
:match NONE
match
命令一次只能匹配一个模式,
vim
提供了可以匹配多于三个模式的命令
我们用一些例子来显示匹配的威力:
例子
1
:
在邮件中,一般来说最好一行不要超过
74
个字符
(
这种规则也可见于一些比较古老的编程语言如
Fortran-77)
。在
Vim
中,当一行超过给定的字符的时候希望能够警告,这可以通过下面的命令来实现:
:match ErrorMsg /\%>73v.\+/
这里,超过第
73
个字符的其他字符都会标记成错误。这个匹配的正则表达式可以分解成:
\%> : Match after column with the number right after this
73 : The column number
V : Combined with the previous command, this means that the next part is very
magic. See :help magic for more info.
.\+ : Match one or more of any character.
例子
2
:
在编程
的时候,
tab
仅仅用来缩进代码是一个好的习惯。尽管如此,有时候很难遵守,好了,现在我们可以使用一个简单的匹配来避免这种情况。下面的命令将标记任何不是在行开头的
tab
为错误:
:match errorMsg
/[^\t]\zs\t\+/
现在你可以使用这个匹配来检查含在代码中的
tab
了,这个正则包含下面几部分:
[^ : Begin a group of characters that should not be matched
\t : The tab-character
] : End of character group.
\zs : A zero-width match that places the 'matching' at the beginning of the line
ignoring any whitespaces
\t\+ : One or more tabs in a row.
这条命令就是说:不要匹配任何的
tab
字符,而仅仅匹配不是出现在行开头的
tab
(去除包含的空格)。
如果你仅仅想使用空格字符用来缩进,则可以用下面的命令
:
这条命令是说匹配所有的
tab
字符。
例子
3
:
如果你输入大量的
IP
地址,有些时候你可能会输入一些错误的值,比如
123.123.123.256
,为了防止这种错误,你可以将下面的匹配加入到你的
vimrc
文件中:
match errorMsg /\(2[5][6-9]\|2[6-9][0-9]\|[3-9][0-9][0-9]\)[.]
\[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}\|
\[0-9]\{1,3\}[.]\(2[5][6-9]\|2[6-9][0-9]\|\
\\ \[3-9][0-9][0-9]\)[.][0-9]\{1,3\}[.][0-9]
\\{1,3\}\|\[0-9]\{1,3\}[.][0-9]\{1,3\}[.]\(2[5
]
\\ \[6-9]\|\2[6-9][0-9]|[3-9][0-9][0-9]\)[.]
[0-9]\{1,3\}
\\|[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\
}[.]
\\(2[5][6-9]\|2[6-9][0-9]\|\[3-9][0-9][0-9]\)/
尽管它看起来为了解决这个小问题而显得有些复杂,但是应该记住的是即使可能只是会有用一次,但是也是值得添加到
vimrc
文件中去的。
如果你想匹配一个合法的
IP
地址,则匹配看起来要简单得多了:
match todo /\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9]
[0-9]\?\)\.\)
\\ \{3\}\(25[0-5]\|2[0-4][0-9]\|[01]\?
[0-9][0-9]\?\)/
- 大小: 5.6 KB
- 大小: 7.4 KB
- 大小: 1.6 KB
分享到:
相关推荐
4. **语法高亮与色彩方案**:理解如何启用和自定义Vim的语法高亮功能,以及如何选择和调整色彩方案以适应不同的编程语言和个人偏好。 5. **自动完成与补全**:探索Vim的补全机制,包括路径补全、单词补全和函数补全...
《Packtpub Hacking Vim 7.2》是2010年4月发布的一本专著,聚焦于深入探索和优化Vim编辑器的使用技巧。这本书旨在帮助用户解锁Vim的全部潜力,将其从一个普通的文本编辑器转变为一个强大的开发工具。Vim(Vi ...
《vim工具书 hacking vim》是一本深度探讨Vim编辑器高级使用技巧的书籍,由Kim Schulz撰写,版权归属于2007年的Packt Publishing。本书面向已经熟悉Vim基本操作的用户,旨在帮助他们进一步挖掘Vim的强大功能,提高...
《Hacking Vim 7.2》是由Kim Schulz编著的一本关于Vim高级使用的书籍。这本书面向已经熟悉Vim基础操作的用户,旨在提升他们的编辑效率和代码编写体验。Vim,全称Vi IMproved,是一款强大的文本编辑器,因其高效的...
### Vim实用手册:《Hacking Vim》概览与核心知识点 #### 一、引言 在软件开发领域,编辑器的选择对于提升工作效率至关重要。Vim作为一款高度可定制且功能强大的文本编辑器,在程序员和系统管理员中享有极高的声誉...
- **解决方案**:利用Vim的语法高亮和错误提示功能,结合自定义快捷键,可以快速定位到有问题的代码行,并进行快速修改。 #### 结语 《Hacking Vim》这本书深入浅出地介绍了如何最大限度地利用Vim编辑器的各项...
4. **Vim脚本**:学习编写自定义的Vim脚本,理解 Vimscript 语言,能够定制自己的快捷键、命令和插件,使Vim更符合个人的工作习惯。 5. **插件系统**:Vim的强大之处在于其丰富的插件生态。书中会介绍如何安装和...
Vim,全称Vi IMproved,是一款强大的文本编辑器,以其高效、可定制化和丰富的插件系统而深受程序员和文本工作者的喜爱。《Hacking Vim 7.2》是一本专注于深入挖掘Vim潜能的书籍,它旨在帮助用户提升编辑效率,充分...
### Hacking Vim:一本针对高级用户的实用指南 #### 标题与描述解析 - **标题**:“Hacking.Vim.May.2007.Packt.Publishing.pdf”表明这是一本出版于2007年5月由Packt Publishing发行的关于Vim编辑器的书籍。 - **...
“Hacking Vim”很可能深入探讨了Vim的高级特性,包括自定义配置、插件管理、编写宏和脚本等。Vim的可扩展性是其一大亮点,用户可以通过.vimrc文件定制自己的编辑环境,设置个人喜好,比如颜色主题、快捷键绑定等。...
配置文件还设置了多种语言的默认缩进规则和语法高亮: ```vim au BufReadPost *py set syntax=python au BufReadPost *rb set syntax=ruby au BufReadPost *html set syntax=html ``` 这些命令为Python、Ruby和...
《vimbook-OPL 经典实用教程》:深入探索VIM编辑器的高效使用之道 在IT行业,尤其是软件开发领域,高效的代码编辑工具对于提升工作效率至关重要。VIM(Vi IMproved),作为一款功能强大、高度可定制的文本编辑器,...