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