[vim] vim 单词高亮

sourceInsight中有单词高亮功能。一直觉得看code的时候比较好用。

今天找了一下vim中是否有相关的插件。发现还真有类似的功能。

链接如下:

http://www.vim.org/scripts/script.php?script_id=1238

总结一下相关的用法,省得以后用的时候还需要再查找资料。

高亮的使用方法:

Normal mode:

Vim的Normal mode中,

\m 用来使得光标处的单词着色

\n 使得原先着色的单词取消着色

\r  输入\r后再输入正则表达式,可以高亮匹配的相关单词

上例子:

\m 演示 -- 光标移到37行a_uri处,输入\m,画面如下:


可以看到所有的a_uri都显示了同一种颜色。


\n 演示 -- 光标移到37行a_uri处,输入\n,画面如下:


可以看到所有的a_uri颜色都取消了。


\r 演示 -- 先输入\r,然后再输入a_.*, 显示画面如下:


可以看到,符合正则表达式a_.*的内容都被颜色显示了。取消\r的颜色显示,只要输入\n就可以了。


Virtual mode:

 Visual mode下的用法同Normal mode的一样。不再详述。


Command Line:

mark.vim这个插件还支持在Command line中输入正则表达式对匹配的内容显示颜色。

在Command line中,使用:Mark regexp 的格式来标记正则表达式匹配的内容。

效果同\r一样。

如下是:Mark a_.*的显示结果, 同\r a_.*效果一样。


再次输入:Mark a_.*取消本次的高亮。

输入:Mark Other_regexp其他正则可以同时显示不同颜色的高亮。

使用:Mark 来取消所有的高亮结果。



注意:各个模式中显示高亮和取消高亮的功能都是可以互通使用的。

比如,使用\r 加上输入a_.*来高亮匹配a_.*的内容后,可以输入:Mark a_.*来取消\r的高亮效果。


搜索方向:

使用\*来获取下一个高亮显示的字,使用\#来获取上一个高亮显示的字。

注意: 如果有多处高亮词的情况下。\*和\#是根据记录的上一个高亮词的结果来进行搜索的。

比如你上一次高亮的词是AAA,另外还有高亮词BBB,

如果此时光标不在AAA和BBB处,那么\*指的是上一个AAA,\#指的是下一个AAA

如果此时光标处在BBB处,那么\*自动匹配BBB,指的是上一个BBB,\#指的是下一个BBB


另计:

经试验,mark.vim插件最多只能标注6个词组,如果超过6个词组,首先标记颜色的词组的颜色会消失。

下图是已经标记过了6种颜色的时候的截图:

[vim] vim 单词高亮_第1张图片

此时,如果再对46行的memset进行\m操作。则最先标记颜色的uri_parse_state颜色会被取消。

如下图所示:

[vim] vim 单词高亮_第2张图片




下面的链接是对上面插件的增强:

http://www.vim.org/scripts/script.php?script_id=2666

还没来得及看,等有时间再看一下。

你可能感兴趣的:(vim)