diff options
author | Teddy Wing | 2019-12-14 17:32:10 +0100 |
---|---|---|
committer | Teddy Wing | 2019-12-14 17:32:10 +0100 |
commit | 6d86b086fd480c2403eb93775f72ac67aea41ca1 (patch) | |
tree | a8e5ff9571be1913036bfdd5f08d6d1643daabb4 /autoload | |
parent | 7c9b04778a88926e2349770a5e8e3e8c09221bc7 (diff) | |
download | vim-nohai-6d86b086fd480c2403eb93775f72ac67aea41ca1.tar.bz2 |
Move functions to autoload/
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/nohai.vim | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/autoload/nohai.vim b/autoload/nohai.vim new file mode 100644 index 0000000..726d4c8 --- /dev/null +++ b/autoload/nohai.vim @@ -0,0 +1,43 @@ +" Remaps <CR> in command mode to run `nohlsearch` after accepting the command. +function! s:AddMapping() + silent! cnoremap <expr> <CR> <SID>CRAndNohlsearch() +endfunction + +" Removes the Nohai <CR> cmap. +function! s:RemoveMapping() + silent! cunmap <CR> +endfunction + +" Deactivates the Nohai <CR> cmap and turns off the augroup. +function! s:Deactivate() + call s:RemoveMapping() + call s:AutocmdOff() +endfunction + +" Expr mapping function that runs the `nohlsearch` command after pressing <CR>. +function! s:CRAndNohlsearch() + return "\<CR>:nohlsearch\<CR>" +endfunction + +" Turn on Nohai autocmds. +function! s:AutocmdOn() + augroup nohai + autocmd! + + autocmd CmdlineEnter [/\?] call s:AddMapping() + autocmd CmdlineLeave [/\?] call s:Deactivate() + augroup END +endfunction + +" Removes the Nohai augroup. +function! s:AutocmdOff() + autocmd! nohai +endfunction + +" Expr mapping function that turns on Nohai and starts the search command +" specified by `command`, either '/' or '?'. +function! nohai#Search(command) + call s:AutocmdOn() + + return a:command +endfunction |