diff options
author | Teddy Wing | 2019-12-11 00:25:31 +0100 |
---|---|---|
committer | Teddy Wing | 2019-12-11 00:25:31 +0100 |
commit | df2cda7ab8d6ef78d1d2dda54f8320a80b8b2086 (patch) | |
tree | de53201dd949bc5537bb4b73fba5565b2f158c69 /plugin | |
parent | 03ac5871f7ea599a8ca945e277d1a2243f572e90 (diff) | |
download | vim-nohai-df2cda7ab8d6ef78d1d2dda54f8320a80b8b2086.tar.bz2 |
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.
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/nohai.vim | 33 |
1 files changed, 29 insertions, 4 deletions
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 <CR> <CR>:nohlsearch<CR> +function! s:AddMapping(cmdwin_char) + " silent! cnoremap <CR> <CR>:nohlsearch<CR> + silent! cnoremap <expr> <CR> s:CR(a:cmdwin_char) endfunction function! s:RemoveMapping() silent! cunmap <CR> endfunction + +function! s:CR(cmdwin_char) + if a:cmdwin_char == '/' || a:cmdwin_char == '?' + return '<CR>:nohlsearch<CR>' + " ... and unmap + else + return '<CR>' + 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 <Plug>(nohai-search-backward) :call s:Search()<CR> +nnoremap <Plug>(nohai-search) :call s:Search()<CR> + +nmap g? <Plug>(nohai-search-backward) +nmap g/ <Plug>(nohai-search) |