突出显示包含搜索词的行

时间:2012-09-27 09:39:37

标签: vim

我知道可以配置vim以突出显示所搜索单词的所有匹配项。

但是,是否可以突出显示搜索到的单词的整行?如果是这样,怎么样?

5 个答案:

答案 0 :(得分:8)

如果您通常希望突出显示当前行:

:set cursorline

如果您只想突出搜索,唯一简单的方法是扩展搜索模式以覆盖整行:

:set hlsearch
:let @/ = '.*'.@/.'.*'

请注意,在n / N上,光标现在会跳到行的开头,而不是匹配的单词。此外,您将无法再对匹配的单词:%s//...进行替换(不重复搜索模式)。

答案 1 :(得分:3)

确切的解决方案可能取决于您的目标:

你想让匹配的线条更突出吗?

您想知道行号以便进一步使用吗?

你想直接在这些方面采取行动吗?

您可以使用quickfix窗口列出包含匹配项的行:

:vim! foo . | copen

您可以使用:global命令列出或处理包含匹配项的每一行:

:g/foo<CR>          " list the lines
:g/foo/<Ex command> " act on each line

答案 2 :(得分:0)

:set hlsearch

highlight搜索到的字词。

另请注意,您可以highlight your current line,即光标所在的行。因此,当您在匹配之间移动时,您移动到的整行将突出显示。

答案 3 :(得分:0)

您可以安装此插件highlight.vim。其中一个快捷键<C-h><C-j>允许您突出显示包含先前搜索模式的行。

答案 4 :(得分:-1)

请使用此:

要突出显示文件中的所有搜索模式匹配,请设置以下选项:

:set hlsearch

要暂时禁用突出显示,请使用:

:nohlsearch