我可以阻止在一个窗口中搜索到达所有窗口

问题描述:

我为Vim开启了搜索突出显示功能。如果我有一个终端模式Vim分裂成不同的窗口(显示不同的文件)并在一个搜索中搜索,则搜索会遍历所有打开的窗口和缓冲区,并且所有窗口中突出显示所有搜索项。是否有可能限制这只只有当前活动的窗口,每个窗口和缓冲区有其自己的有效搜索和突出显示?我可以阻止在一个窗口中搜索到达所有窗口

如何制作match组并突出显示它。例如

:highlight TEST ctermbg=grey guibg=grey 
:match TEST /TODO/ 

该示例创建匹配组TEST并与终端的背景和GUI背景设置为grey突出显示它。这只是想法,你可以围绕它提出许多聪明的技巧。

:match有限制,所以你可能会喜欢读:help :match

另一种选择,以突出可能是quickfix列表。如果您使用vimgrep /pattern/ %其中%是当前缓冲区,则只有该缓冲区的搜索结果才会出现在快速列表中。 :cnext跳过,如果你没有蒂姆波普unimpaired插件。

Drew Neil在他的screencast中解释得非常好。

还是Location List,如::

nnoremap <leader>* :lvim /<c-r>=expand("<cword>")<cr>/ %<cr>:lopen<cr>