23 lines
412 B
Bash
23 lines
412 B
Bash
# Fuzzy cd from anywhere
|
|
# Dependencies
|
|
# * fzf
|
|
# * mlocate
|
|
|
|
# ========== Shortcuts ==========
|
|
cf() {
|
|
[[ -z "${*}" ]] && return 1
|
|
[[ ! -x /usr/bin/fzf ]] && return 1
|
|
|
|
dir="$(locate --all --ignore-case --null -- "${@}" | fzf --read0 --select-1 --exit-0)"
|
|
|
|
[[ -z "${dir}" ]] && return 1
|
|
|
|
if [[ -f "${dir}" ]]; then
|
|
cd "${dir%/*}"
|
|
else
|
|
cd "${dir}"
|
|
fi
|
|
}
|
|
|
|
autoload -Uz cf
|