在Vim中搜索和替换后取消选择匹配的字符串

sim*_*ont 4 vim

我有一个文件(LaTeX),其中包含我想要注释掉的行.
在视觉上选择相关块之后我使用的正则表达式,:s/^/%/g工作正常.但是,vim会突出显示替换中使用的正则表达式的第一部分的每个匹配事件(突出显示每行开头的第一个字符).

如果我进行另一次搜索或其他搜索和替换,则选择会更改,但我无法确定如何在不进行"无用"搜索的情况下将其关闭.

如果我搜索空格会特别烦人(因为在文本文件中突出显示每个' '都在视觉上很烦人).

在搜索和替换完成后,如何取消选择匹配的字符串?

Chr*_*gan 12

:nohlsearch将停止突出显示它,但将其保留为活动搜索模式.(它将开始突出显示n等)

:let @/=""将清除搜索模式寄存器(以便n等等不起作用).

我在Vim看到的一个常见的事情是map <Leader><Space> :noh<CR>; 这导致(假设默认的前导,反斜杠)\Space将停止突出显示当前匹配.

  • 这可能是值得一提的是,如果你决定去同一个键映射,你可能要设置映射切换高亮(用`:集hlsearch'),而不是简单地将其禁用. (2认同)

小智 6

只需搜索不在页面上的字符串:

/poop 
Run Code Online (Sandbox Code Playgroud)


Tim*_*ote 5

:nohlsearch将从当前搜索中删除突出显示。突出显示将在您下次搜索时返回。

:set nohlsearch将禁用当前 vim 会话的突出显示。

如果您想完全禁用突出显示,请添加:set nohlsearch到您的.vimrc

  • 可能值得强调 `:nohlsearch` 和 `:set nohlsearch` 之间的区别......很容易不太注意到。 (2认同)