Marty Oehme
900b949a7a
Moved zhfind command to fuzzy finding since it relies on sk to be present. Added some preliminary warnings if sk is not on the system.
38 lines
1.4 KiB
Bash
38 lines
1.4 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 sk to use full script functionality"
|
|
alias fzf=fzy
|
|
elif type fzf >/dev/null 2>&1; then
|
|
echo "[WARNING]: fzf found as fuzzy finder - install sk to use full script functionality"
|
|
alias fzf=fzf
|
|
else
|
|
echo "[WARNING]: No fuzzy finder found - install sk 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 rg/ag/ack to enable functionality"
|
|
fi
|
|
|
|
# set up fuzzy file and directory search
|
|
# TODO still uses rifle (from ranger fm) - decide whether to keep it or not
|
|
alias f="fzf -c 'find . -type f' --preview='head -$LINES {}' | xargs rifle"
|
|
alias F="fzf -c 'find ~ -type f' --preview='head -$LINES {}' | xargs rifle"
|
|
|
|
alias d="fzf -c 'find . -type d' --preview='ls --color='always' {}' | xargs rifle"
|
|
alias D="fzf -c 'find ~ -type d' --preview='ls --color='always' {}' --color=dark --ansi | xargs rifle"
|
|
|
|
# Display fuzzy-searchable history
|
|
alias zhfind="history | fzf --tac --height 20"
|