runtime(nohlsearch): fix CursorHold loop
fix exception when entering the insert mode with paste
closes: #16818
Co-authored-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: qaqland <qaq@qaq.land>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim b/runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim
index a2d766e..58613a2 100644
--- a/runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim
+++ b/runtime/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim
@@ -1,5 +1,5 @@
" nohlsearch.vim: Auto turn off hlsearch
-" Last Change: 2024-07-31
+" Last Change: 2025-03-08
" Maintainer: Maxim Kim <habamax@gmail.com>
"
" turn off hlsearch after:
@@ -11,10 +11,14 @@
endif
let g:loaded_nohlsearch = 1
+func! s:Nohlsearch()
+ if v:hlsearch
+ call feedkeys("\<cmd>nohlsearch\<cr>", 'm')
+ endif
+endfunc
+
augroup nohlsearch
au!
- noremap <Plug>(nohlsearch) <cmd>nohlsearch<cr>
- noremap! <Plug>(nohlsearch) <cmd>nohlsearch<cr>
- au CursorHold * call feedkeys("\<Plug>(nohlsearch)", 'm')
- au InsertEnter * call feedkeys("\<Plug>(nohlsearch)", 'm')
+ au CursorHold * call s:Nohlsearch()
+ au InsertEnter * call s:Nohlsearch()
augroup END