about summary refs log tree commit diff
path: root/configs
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2016-12-06T20·53-0500
committerWilliam Carroll <wpcarro@gmail.com>2016-12-06T20·53-0500
commit085a7e446d4df1eb356e7a62655170f2fa68eea4 (patch)
treef3ba37d32d3175cb199ec39e566e8b54d5362156 /configs
parentc7c71da568816751bcec9cb31b875755e9007725 (diff)
Adds codemod function
Diffstat (limited to 'configs')
-rw-r--r--configs/.vimrc19
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>
+