From 2ba3fc5be67f00aa43aac025866a0cf953f4b124 Mon Sep 17 00:00:00 2001 From: Guangxiong Lin Date: Wed, 13 Apr 2022 22:20:44 +0800 Subject: Implement my grep and find (vim) --- .vim/after/autoload/gxfind.vim | 9 +++++++++ .vim/after/plugin/find.vim | 3 +++ .vim/after/plugin/grep.vim | 1 + .vimrc | 4 +++- 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .vim/after/autoload/gxfind.vim create mode 100644 .vim/after/plugin/find.vim diff --git a/.vim/after/autoload/gxfind.vim b/.vim/after/autoload/gxfind.vim new file mode 100644 index 0000000..90923a8 --- /dev/null +++ b/.vim/after/autoload/gxfind.vim @@ -0,0 +1,9 @@ +function! gxfind#find(args) + let findcmd = 'find . -type f ' . a:args + if executable('fd') + let findcmd = 'fd --hidden --type f ' . a:args . ' . ' + endif + + :cexpr system(findcmd) +endfunction + diff --git a/.vim/after/plugin/find.vim b/.vim/after/plugin/find.vim new file mode 100644 index 0000000..55c4fcb --- /dev/null +++ b/.vim/after/plugin/find.vim @@ -0,0 +1,3 @@ +command! -nargs=* Cexpr cexpr system(expand()) +command! -nargs=* -complete=file Find call gxfind#find() + diff --git a/.vim/after/plugin/grep.vim b/.vim/after/plugin/grep.vim index 0720e36..3d80ebb 100644 --- a/.vim/after/plugin/grep.vim +++ b/.vim/after/plugin/grep.vim @@ -4,3 +4,4 @@ if executable('rg') endif nnoremap g :grep! =expand('') +nnoremap fr :grep! diff --git a/.vimrc b/.vimrc index 93ccda7..bd0735c 100644 --- a/.vimrc +++ b/.vimrc @@ -20,6 +20,9 @@ set secure set exrc set noerrorbells +" use for populating filename in quickfix +set errorformat+=%f + " Use python3 first if has('python3') elseif has('python') @@ -127,4 +130,3 @@ packadd matchit if !empty(glob('~/.vim_local')) source ~/.vim_local endif - -- cgit v1.2.3