X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.shellrc;h=051889d2a64e80a1ceded88d457126f8081809cf;hp=78beaf7ad6991ee6e20a79304de731d21dc89dae;hb=HEAD;hpb=30db78e1dbb83ed3025f5378d4a83e5e5441da4e diff --git a/.shellrc b/.shellrc index 78beaf7..72c4a15 100644 --- a/.shellrc +++ b/.shellrc @@ -40,18 +40,62 @@ case "$HOME" in esac if test -n "$KSH_VERSION" -o -n "$FCEDIT"; then - back() { cd - "$@"; } - j() { jobs; } + alias back='cd -' + alias j=jobs fi # clear screen and history, logout -chlo() { clear; cd; >$HISTFILE; unset HISTFILE; history -c; logout || exit; } +alias clhlo='clear; cd; >$HISTFILE; unset HISTFILE; history -c; logout || exit' + +# cgmem_nice +alias c3='cgmem_nice 300' +alias c5='cgmem_nice 500' +alias e3='exec cgmem_nice 300' +alias e5='exec cgmem_nice 500' if [ -n "$STY" -a "$WINDOW" != 0 ]; then #unset MAILCHECK everywhere except for the 1st GNU screen window unset MAILCHECK fi +if test -x /usr/bin/git >/dev/null 2>&1; then + # chdir to a directory + cdgitpath() { + if [ $# -ne 1 ]; then + echo "Usage: cdgitpath path_key" >&2 + return 1 + fi + + path_key="$1" + if [ -z "$path_key" ]; then + echo "Usage: cdgitpath path_key" >&2 + return 1 + fi + + path_url="`git config --get --path $path_key`" + if echo "$path_url" | grep -q '^file:/'; then + path_url="`echo \"$path_url\" | sed 's@^file:/\+@/@'`" + fi + cd "$path_url" + } + + # See https://stackoverflow.com/a/77266926/7976758 + + cd_worktree() { + if [ $# -ne 1 ]; then + echo "Usage: cd_worktree " >&2 + return 1 + fi + path="$(git worktree list | grep -F "$1" | awk '{print $1}')" + if [ -n "$path" ]; then + cd "$path" + else + echo "Cannot find path for branch '$1'" >&2 + return 1 + fi + } +fi + include() { cfg="$1" shift @@ -125,7 +169,7 @@ mc() { rc=1 fi - unset MC_FOUND MC_PWD_FILE MC_SLOW MC_TMP_DIR MC_XTERM + unset wrapper MC_FOUND MC_PWD_FILE MC_SLOW MC_TMP_DIR MC_XTERM return $rc } @@ -168,7 +212,7 @@ vim() { if [ "$SHLVL" -eq 1 ] && which startx >/dev/null 2>&1; then - X() { startx >> .Xserver.log 2>&1; cyr; /bin/rm -f .Xauthority; } + alias X='startx >> .Xserver.log 2>&1; cyr; /bin/rm -f .Xauthority' fi -x() { exit; } +alias x='logout || exit'