X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.shellrc;h=e70784befeca0d18c725eba23c2561417815cd70;hb=2c7946dd68e7f5af19996e8aa88e672d06d02cc3;hp=d2007fa8f46f28c61382b14674ccbe274472d53f;hpb=29ac3fe1350498025685789e626dd2b8832428d2;p=dotfiles.git diff --git a/.shellrc b/.shellrc index d2007fa..e70784b 100644 --- a/.shellrc +++ b/.shellrc @@ -6,6 +6,17 @@ OPS1="$OPS1\\$" PS1="$OPS1 " +case "$HOME" in + /home/*) + if [ -L /home ]; then + START_DIR="`pwd`" && + cd "$HOME" && + HOME="`pwd`" && + cd "$START_DIR" + fi + ;; +esac + case "$SHELL" in */bash) [ "`type -t ls`" = alias ] && unalias ls @@ -61,6 +72,7 @@ case "$SHELL" in s scp ssh smbclient tcpdump tshark wireshark; do ! has_completion $cmd && complete -o default -A hostname $cmd; done + unset has_completion complete -A job bg fg j jobs wait complete -A variable unset @@ -69,6 +81,8 @@ case "$SHELL" in complete -W "`cd \"$HOME/lib/config\" && echo *`" include fi complete -W "`echo $BROWSER | sed 's/:/ /g'`" start-browser + + which pip >/dev/null 2>&1 && eval "`pip completion --bash`" ;; */ksh) @@ -84,7 +98,7 @@ esac # clear history, clear screen and logout -#chlo() { cd; unset HISTFILE; rm -f .*history*; clo; } +#chlo() { cd; unset HISTFILE; rm -f .sh_history; history -c; clo; } #Pwd() { pwd | sed "s/.*\/\(.*\)\/\(.*\)\/\(.*\)\/\(.*\)/...\/\2\/\3\/\4/"; } @@ -127,6 +141,13 @@ include() mc() { + case "$SHELL" in + */bash) + MC_SAVE_OPS1="$OPS1" + OPS1="\u@\h " + ;; + esac + if [ -n "$SLOWTERM" ]; then MC_SLOW="--slow" fi @@ -187,24 +208,36 @@ mc() { rc=1 fi + [ -n "$MC_SAVE_OPS1" ] && OPS1="$MC_SAVE_OPS1" [ -n "$MC_SAVE_TERM" ] && TERM="$MC_SAVE_TERM" - unset MC_FOUND MC_PWD_FILE MC_SAVE_TERM MC_SLOW MC_TMP_DIR MC_XTERM + unset MC_FOUND MC_PWD_FILE MC_SAVE_OPS1 MC_SAVE_TERM \ + MC_SLOW MC_TMP_DIR MC_XTERM + return $rc } +mkcd() { + if [ $# -ne 1 ]; then + echo "Usage: mkcd directory_name" >&2 + elif [ -d "$1" ]; then + cd "$1" + elif [ -e "$1" ]; then + echo "Error: $1 is a file" >&2 + else + mkdir -p "$1" && cd "$1" + fi +} + + tmux() { case "$TERM" in rxvt) - TMUX_SAVE_TERM="$TERM" - TERM=rxvt-unicode + TERM=rxvt-unicode command tmux "$@" ;; - esac - command tmux "$@" - rc=$? - - [ -n "$TMUX_SAVE_TERM" ] && TERM="$TMUX_SAVE_TERM" - unset TMUX_SAVE_TERM - return $rc + *) + command tmux "$@" + ;; + esac }