突出显示和功能

时间:2012-05-01 08:15:30

标签: search vim highlight

假设我在menu.vim中有这个功能:

  function! s:Test()
   let search = '\d\+'
   let @/ = search
   return "normal n" 
  endfunction

为什么不突出搜索匹配?
只有在我在命令行中执行:set hls之后才会突出显示 当我按下键盘上的n键时,它也会突出显示 如果我在函数中放置相同的行(:set hls)则不起作用。
我的VIM启用了BTW突出显示 如果我使用命令行,它会突出显示。

1 个答案:

答案 0 :(得分:1)

实际上可能会在:help functions-search-undo下的手册中描述这种行为,但没有提及任何解决方法。

  

最后使用的搜索模式和重做命令"。"   不会被功能改变。这也意味着效果   当函数返回时,:nohlsearch被撤消。

:nohlsearch上的文档也提到了这一点:

  

此命令在自动命令中不起作用,因为   执行自动命令时,将保存并恢复突出显示状态   autocmd-searchpat调用用户函数时也是如此。