Marty Oehme
9df014fa62
rifle is going away soon with ranger being replaced by vifm in these dotfiles. To be prepared, and make them more universal, the fuzzy file finder uses xdg-open to open any files.
37 lines
1.3 KiB
Bash
37 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# check for existence of fuzzy finders. If found, substitute fzf with it.
|
|
# order is skim > fzy > fzf > nothing
|
|
if type sk >/dev/null 2>&1; then
|
|
alias fzf=sk
|
|
elif type fzy >/dev/null 2>&1; then
|
|
echo "[WARNING]: fzy found as fuzzy finder - install skim to use full script functionality"
|
|
alias fzf=fzy
|
|
elif type fzf >/dev/null 2>&1; then
|
|
echo "[WARNING]: fzf found as fuzzy finder - install skim to use full script functionality"
|
|
alias fzf=fzf
|
|
else
|
|
echo "[WARNING]: No fuzzy finder found - install skim to enable functionality"
|
|
fi
|
|
|
|
# check for existence of greplikes. If found, substitute fzf with it.
|
|
# order is skim > fzy > fzf > nothing
|
|
if type rg >/dev/null 2>&1; then
|
|
alias rg=rg
|
|
elif type ag >/dev/null 2>&1; then
|
|
alias rg=ag
|
|
elif type ack >/dev/null 2>&1; then
|
|
alias rg=ack
|
|
else
|
|
echo "[WARNING]: No grep-like found - install ripgrep/the silver surfer (ag)/ack to enable functionality"
|
|
fi
|
|
|
|
# set up fuzzy file and directory search
|
|
alias f="fzf -c 'find . -type f' --preview='head -$LINES {}' | xargs xdg-open"
|
|
alias F="fzf -c 'find ~ -type f' --preview='head -$LINES {}' | xargs xdg-open"
|
|
|
|
alias d="fzf -c 'find . -type d' --preview='ls --color='always' {}' | cd"
|
|
alias D="fzf -c 'find ~ -type d' --preview='ls --color='always' {}' --color=dark --ansi | cd"
|
|
|
|
# Display fuzzy-searchable history
|
|
alias zhfind="history | fzf --tac --height 20"
|