From df2cda7ab8d6ef78d1d2dda54f8320a80b8b2086 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 11 Dec 2019 00:25:31 +0100 Subject: Ideas for custom mappings Trying to put together the pieces to take what I have and make it accessible via new mappings, leaving the existing search mappings intact. --- plugin/nohai.vim | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'plugin') diff --git a/plugin/nohai.vim b/plugin/nohai.vim index e0afbb0..cdde8c3 100644 --- a/plugin/nohai.vim +++ b/plugin/nohai.vim @@ -6,21 +6,46 @@ augroup nohai augroup END function! s:Nohai(cmdwin_char) - if a:cmdwin_char == '/' + if a:cmdwin_char == '/' || a:cmdwin_char == '?' " nohlsearch " ^ doesn't work because the autocommand executes before leaving the " command line window - call s:AddMapping() + call s:AddMapping(a:cmdwin_char) else call s:RemoveMapping() endif endfunction -function! s:AddMapping() - silent! cnoremap :nohlsearch +function! s:AddMapping(cmdwin_char) + " silent! cnoremap :nohlsearch + silent! cnoremap s:CR(a:cmdwin_char) endfunction function! s:RemoveMapping() silent! cunmap endfunction + +function! s:CR(cmdwin_char) + if a:cmdwin_char == '/' || a:cmdwin_char == '?' + return ':nohlsearch' + " ... and unmap + else + return '' + endif +endfunction + +function! s:Search() + " let s:on = 1 + + " 1. Turn on autocmd + " 2. Search (find out if this is blocked by function-search-undo) + " 2.a. Search automatically disables autocmd +endfunction + + +nnoremap (nohai-search-backward) :call s:Search() +nnoremap (nohai-search) :call s:Search() + +nmap g? (nohai-search-backward) +nmap g/ (nohai-search) -- cgit v1.2.3