vim单词高亮的功能
sourceInsight中有单词高亮功能。一直觉得看code的时候比较好用。
今天找了一下vim中是否有相关的插件。发现还真有类似的功能。
链接如下: www.2cto.com
http://www.vim.org/scripts/script.
php?script_id=1238
总结一下相关的用法,省得以后用的时候还需要再查找资料。
高亮的使用方法:
Normal mode:
Vim的Normal mode中,
\m 用来使得光标处的单词着色
\n 使得原先着色的单词取消着色
\r 输入\r后再输入正则表达式,可以高亮匹配的相关单词
上例子:
\m 演示 -- 光标移到37行a_uri处,输入\m,画面如下:
![](http://www.2cto.com/uploadfile/2012/0817/20120817101940614.png)
可以看到所有的a_uri都显示了同一种颜色。
\n 演示 -- 光标移到37行a_uri处,输入\n,画面如下:
![](http://www.2cto.com/uploadfile/2012/0817/20120817101941328.png)
可以看到所有的a_uri颜色都取消了。 www.2cto.com
\r 演示 -- 先输入\r,然后再输入a_.*, 显示画面如下:
![](http://www.2cto.com/uploadfile/2012/0817/20120817101941344.png)
可以看到,符合正则表达式a_.*的内容都被颜色显示了。取消\r的颜色显示,只要输入\n就可以了。
Virtual mode:
Visual mode下的用法同Normal mode的一样。不再详述。
Command Line:
mark.vim这个插件还支持在Command line中输入正则表达式对匹配的内容显示颜色。
在Command line中,使用:Mark regexp 的格式来标记正则表达式匹配的内容。
效果同\r一样。
如下是:Mark a_.*的显示结果, 同\r a_.*效果一样。
![](http://www.2cto.com/uploadfile/2012/0817/20120817101942586.png)
再次输入:Mark a_.*取消本次的高亮。
输入:Mark Other_regexp其他正则可以同时显示不同颜色的高亮。
使用:Mark 来取消所有的高亮结果。 www.2cto.com
注意:各个模式中显示高亮和取消高亮的功能都是可以互通使用的。
比如,使用\r 加上输入a_.*来高亮匹配a_.*的内容后,可以输入:Mark a_.*来取消\r的高亮效果。
搜索方向:
使用\*来获取下一个高亮显示的字,使用\#来获取上一个高亮显示的字。
注意: 如果有多处高亮词的情况下。\*和\#是根据记录的上一个高亮词的结果来进行搜索的。
比如你上一次高亮的词是AAA,另外还有高亮词BBB,
如果此时光标不在AAA和BBB处,那么\*指的是上一个AAA,\#指的是下一个AAA
如果此时光标处在BBB处,那么\*自动匹配BBB,指的是上一个BBB,\#指的是下一个BBB
另计:
经试验,mark.vim插件最多只能标注6个词组,如果超过6个词组,首先标记颜色的词组的颜色会消失。
下图是已经标记过了6种颜色的时候的截图: www.2cto.com
![](http://www.2cto.com/uploadfile/2012/0817/20120817101943754.png)
此时,如果再对46行的memset进行\m操作。则最先标记颜色的uri_parse_state颜色会被取消。
如下图所示:
![](http://www.2cto.com/uploadfile/2012/0817/20120817101943846.png)
下面的链接是对上面插件的增强:
http://www.vim.org/scripts/script.php?script_id=2666