You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.0 KiB
Cheetah

# fzf
source ~/.fzf-completion.bash
source ~/.fzf-keybindings.bash
export FZF_DEFAULT_COMMAND="fdfind . "
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND="fdfind -t d ."
export FZF_DEFAULT_OPTS='--height 40% --reverse --border'
# do not use **<TAB> but something else
# export FZF_COMPLETION_TRIGGER=''
# quickly find a project
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
}