我知道:nohl
和使用它的時候,我也用簡單的運動,從而亮點是不是在我的方式時,只需移動到搜索位置。在按n
或N
之後,它會按我的方式進入。VIM:如何超時(X秒)後關閉搜索突出
我正在尋找一種方法來禁用按n
或N
後,爲了完整起見,我也想在搜索後禁用它。 /search_word<CR>
。
最後,它必須是一個無阻塞命令。
謝謝,我慢慢進入vim腳本,但是這個人是我的聯賽,因爲我還沒有看到命令的例子很多與超時那裏。
編輯:
後的一些評論和在線研究有很多跡象也沒有用vim腳本來做到這一點的好辦法。
我正在尋找一種方式用任何語言,如要做到這一點以穩定的方式Perl,Python,Ruby。
編輯2:
這是基於@德魯瓦 - 薩格爾的迴應我的解決方案: (我標誌着他的答案正確的,因爲他給我的骨架吧)。
augroup NoHLSearch
au!
autocmd CursorHold,CursorMoved * call <SID>NoHLAfter(4)
augroup END
function! s:NoHLAfter(n)
if !exists('g:nohl_starttime')
let g:nohl_starttime = localtime()
else
if v:hlsearch && (localtime() - g:nohl_starttime) >= a:n
:nohlsearch
redraw
unlet g:nohl_starttime
endif
endif
endfunction
多線程是棘手的,很難在vimscript中完成。你可以創建':noh'的地圖,這將是最簡單的解決方案。你知道,在'/ foo'之後''foo'被存儲在'/'reg中,不管你是否執行了noh,下次按下'n或N'時,匹配的文本都會被高亮顯示,方便,對我來說相當好。 – Kent