diff options
Diffstat (limited to 'configs/.vimrc')
-rw-r--r-- | configs/.vimrc | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/configs/.vimrc b/configs/.vimrc index 3cabc22cf960..11e3c52e8190 100644 --- a/configs/.vimrc +++ b/configs/.vimrc @@ -438,7 +438,7 @@ vnoremap L $ " Search for visually selected text -vnoremap // y/<C-r>"<CR>N +" vnoremap // y/<C-r>"<CR>N " trim trailing whitespace on save @@ -459,3 +459,20 @@ let g:ctrlp_custom_ignore = { \ 'file': '\v\.(exe|dll|png|jpg|jpeg)$' \} + +" Search within a visual selection +function! RangeSearch(direction) + call inputsave() + let g:srchstr = input(a:direction) + call inputrestore() + if strlen(g:srchstr) > 0 + let g:srchstr = g:srchstr. + \ '\%>'.(line("'<")-1).'l'. + \ '\%<'.(line("'>")+1).'l' + else + let g:srchstr = '' + endif +endfunction +vnoremap <silent> / :<C-U>call RangeSearch('/')<CR>:if strlen(g:srchstr) > 0\|exec '/'.g:srchstr\|endif<CR> +vnoremap <silent> ? :<C-U>call RangeSearch('?')<CR>:if strlen(g:srchstr) > 0\|exec '?'.g:srchstr\|endif<CR> + |