10 years ago
<Tab>
does what n
does, only without leaving incremental search.
<S-Tab>
does what N
does, only without leaving incremental search.
set wildcharm=<C-z> function! BetterIncSearch(key) if getcmdtype() == "/" || getcmdtype() == "?" if (a:key == "tab" && b:direction == "f") || (a:key == "stab" && b:direction == "b") return "\<CR>/\<C-r>/" elseif (a:key == "tab" && b:direction == "b") || (a:key == "stab" && b:direction == "f") return "\<CR>?\<C-r>/" endif else if a:key == "tab" return "\<C-z>" else return "\<S-Tab>" endif endif endfunction nnoremap / :let b:direction = "f"<CR>/ nnoremap ? :let b:direction = "b"<CR>? cnoremap <expr> <Tab> BetterIncSearch("tab") cnoremap <expr> <S-Tab> BetterIncSearch("stab")