aboutsummaryrefslogtreecommitdiff
path: root/.vim
diff options
context:
space:
mode:
authorGuangxiong Lin <[email protected]>2022-04-13 22:20:44 +0800
committerGuangxiong Lin <[email protected]>2022-04-13 22:20:44 +0800
commit2ba3fc5be67f00aa43aac025866a0cf953f4b124 (patch)
treeefc96ce63562baf07cb0cff42f065f252b3034db /.vim
parent10a79ab1be6dcf4c68cbf137ad8292aac6c4bffb (diff)
downloaddotfiles-2ba3fc5be67f00aa43aac025866a0cf953f4b124.tar.gz
dotfiles-2ba3fc5be67f00aa43aac025866a0cf953f4b124.tar.bz2
dotfiles-2ba3fc5be67f00aa43aac025866a0cf953f4b124.zip
Implement my grep and find (vim)
Diffstat (limited to '.vim')
-rw-r--r--.vim/after/autoload/gxfind.vim9
-rw-r--r--.vim/after/plugin/find.vim3
-rw-r--r--.vim/after/plugin/grep.vim1
3 files changed, 13 insertions, 0 deletions
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(<q-args>))
+command! -nargs=* -complete=file Find call gxfind#find(<q-args>)
+
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 <leader><leader>g :grep! <c-r>=expand('<cword>')<cr><cr>
+nnoremap <leader>fr :grep!<space>