dotfiles/.config/shell/functions/cdf

15 lines
396 B
Bash

#!/bin/bash
# Source this and then run `cdf`
# cd find (interactive): cd to the containing dir of a file, or inside a folder, given part of its name
# Basically, an interactive version of what's above
# can take an `fd` command
# requires that `fzy` is installed
cdf() {
DIR="$(fd $@ | fzy)"
if [ -f "$DIR" ];then
cd "$(dirname "$DIR")" && pwd
else
cd "$DIR" && pwd
fi
}