function! s:AddMapping() silent! cnoremap CR() endfunction function! s:RemoveMapping() silent! cunmap endfunction function! s:Deactivate() call s:RemoveMapping() call s:AutocmdOff() endfunction function! s:CR() return "\:nohlsearch\" endfunction function! s:AutocmdOn() augroup nohai autocmd! autocmd CmdlineEnter [/\?] call s:AddMapping() autocmd CmdlineLeave [/\?] call s:Deactivate() augroup END endfunction function! s:AutocmdOff() autocmd! nohai endfunction function! s:Search(command) call s:AutocmdOn() return a:command endfunction nnoremap (nohai-search-backward) Search('?') nnoremap (nohai-search) Search('/') nmap g? (nohai-search-backward) nmap g/ (nohai-search)