From 03ac5871f7ea599a8ca945e277d1a2243f572e90 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 5 Dec 2019 02:16:30 +0100 Subject: New idea for 'nohlslash' search commands Sort of working. Seems like the right approach. --- nohlslash.vim | 17 ----------------- plugin/nohai.vim | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 17 deletions(-) delete mode 100644 nohlslash.vim create mode 100644 plugin/nohai.vim diff --git a/nohlslash.vim b/nohlslash.vim deleted file mode 100644 index 9088cd1..0000000 --- a/nohlslash.vim +++ /dev/null @@ -1,17 +0,0 @@ -let s:nohlslash = 0 - -function! s:setup_nohlslash() - let s:nohlslash = !s:nohlslash -endfunction - -nnoremap a :call setup_nohlslash() - - -augroup nohlslash - autocmd! - autocmd CmdwinLeave * - \ if s:nohlslash | - \ echom 'test' - \ nohlsearch - \ endif -augroup END diff --git a/plugin/nohai.vim b/plugin/nohai.vim new file mode 100644 index 0000000..e0afbb0 --- /dev/null +++ b/plugin/nohai.vim @@ -0,0 +1,26 @@ +augroup nohai + autocmd! + + " autocmd CmdlineLeave * call s:Nohai(expand('')) + autocmd CmdlineEnter [/?] call s:Nohai(expand('')) +augroup END + +function! s:Nohai(cmdwin_char) + if a:cmdwin_char == '/' + " nohlsearch + " ^ doesn't work because the autocommand executes before leaving the + " command line window + + call s:AddMapping() + else + call s:RemoveMapping() + endif +endfunction + +function! s:AddMapping() + silent! cnoremap :nohlsearch +endfunction + +function! s:RemoveMapping() + silent! cunmap +endfunction -- cgit v1.2.3