From 8dda5123c02df9a96a27d81f070748da8a5d8041 Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Thu, 20 May 2021 09:12:07 +0200 Subject: [PATCH] add fzvim (open with vim), fzcode (open with vscode) and vg (visual grep) --- dot_bashrc.d/fzf.bashrc.tmpl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/dot_bashrc.d/fzf.bashrc.tmpl b/dot_bashrc.d/fzf.bashrc.tmpl index a4510e8..dbacc81 100644 --- a/dot_bashrc.d/fzf.bashrc.tmpl +++ b/dot_bashrc.d/fzf.bashrc.tmpl @@ -13,3 +13,31 @@ export FZF_DEFAULT_OPTS='--height 40% --reverse --border' p(){ cd {{ .projectdir }} && `__fzf_cd__` } + + +# open any file with default editor (or vim if none) +fzvim() { + IFS=$'\n' files=($(fzf --query="$1" --multi --select-1 --exit-0)) + [[ -n "$files" ]] && ${EDITOR:-vim} "${files[@]}" +} + + +# open any file with vscode +fzcode() { + IFS=$'\n' files=($(fzf --query="$1" --multi --select-1 --exit-0)) + [[ -n "$files" ]] && code "${files[@]}" +} + +# grep with silver searcher (https://github.com/ggreer/the_silver_searcher) +# install debian : sudo apt-get install silversearcher-ag +vg() { + local file + local line + + read -r file line <<<"$(ag --nobreak --noheading $@ | fzf -0 -1 | awk -F: '{print $1, $2}')" + + if [[ -n $file ]] + then + vim $file +$line + fi +}