diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-05-15 12:53:02 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-05-15 12:53:02 +0200 |
| commit | 8bf3a3166a147adeee5094cfcfc8646ba2e96803 (patch) | |
| tree | fe1e62dcded75767003cefe04548a4381762258f /grep.vim | |
| parent | 9279d013bb1ce88860c560a04dbc926ce55f3093 (diff) | |
| parent | e9530ee0b4e9706fb0fcb82fa3cb87d57a5b540d (diff) | |
| download | dotfiles-8bf3a3166a147adeee5094cfcfc8646ba2e96803.tar.gz dotfiles-8bf3a3166a147adeee5094cfcfc8646ba2e96803.tar.bz2 dotfiles-8bf3a3166a147adeee5094cfcfc8646ba2e96803.zip | |
Merge branch 'master' into carbon
Diffstat (limited to 'grep.vim')
| -rw-r--r-- | grep.vim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/grep.vim b/grep.vim new file mode 100644 index 0000000..32181f7 --- /dev/null +++ b/grep.vim @@ -0,0 +1,23 @@ +nnoremap <leader>g :set operatorfunc=<SID>GrepOp<CR>g@ +vnoremap <leader>g :<C-u>call <SID>GrepOp(visualmode())<CR> + +function! s:GrepOp(type) + let saved = @@ + + if a:type ==# 'v' + execute "normal! `<v`>y" + elseif a:type ==# 'char' + execute "normal! `[v`]y" + else + return + endif + + silent execute "grep! -R " . shellescape(@@) . " ." + silent redraw! + let g:quickfix_is_open = 1 + copen + let @@ = saved +endfunction + +nnoremap <leader>gn :cnext<CR> +nnoremap <leader>gp :cprevious<CR> |
