ksh/.kshrc.d/30-marks.ksh (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
export MARKPATH=$HOME/.marks function mark { mkdir -p "$MARKPATH"; ln -s "$PWD" "$MARKPATH/$1" } function unmark { rm -i "$MARKPATH/"$(basename $PWD)"" } function marks { for f in "$MARKPATH"/*; do printf '%s → %s\n' "$(basename "$f")" "$(readlink "$f")" done } function j { cd -P "$MARKPATH/$1" 2>/dev/null || printf '%s\n' "error: no such mark $1" } |