commit d1dcdd0e59037c2cc809eba77dee6709cb502701 parent 6a3f76998d03ad7231681a54dd0c525111d20da5 Author: Jacob R. Edwards <jacobouno@protonmail.com> Date: Sat, 12 Sep 2020 17:46:57 -0700 Rework rcd function use indexes to redo chdir instead of a menu. add cds function to filter cd log. Diffstat:
| M | aliases/.config/aliases | | | 14 | ++++++++------ |
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/aliases/.config/aliases b/aliases/.config/aliases @@ -180,11 +180,13 @@ fedm() { # record directories visited. cd() { builtin cd $@ && echo $PWD >> $PWDLOG ;} +# filter chdir history keeping original line numbers. +cds() { + nl -s" " ${PWDLOG} | grep -v " ${HOME}$" | sed "s! ${HOME}! ~!" | uniq -f1 +} + +# redo specified chdir. rcd() { - # revd is costom, like tac in this instance - select dir in `tail -10 $PWDLOG | revd` - do - cd "${dir:?no selection}" - break; - done + local dir=`head -n ${1:?No index specified} $PWDLOG | tail -1` + cd ${dir:?Non-existent entry} && echo "$dir" }