X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.shellrc;h=8adc256b252b15555dfcd0c60ababafd72511d6a;hb=f3d5077ad1762c49948e73acf7eebb187dc9134f;hp=85ca29e03d700b4abaa0db0b38288077388c9aac;hpb=7db5ad342b819ef150c3caf661bdad38de3120cd;p=dotfiles.git diff --git a/.shellrc b/.shellrc index 85ca29e..8adc256 100644 --- a/.shellrc +++ b/.shellrc @@ -2,14 +2,45 @@ # $HOME/.shellrc # -OPS1="$OPS1\\$" -PS1="$OPS1 " +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# append to the history file, don't overwrite it +shopt -s histappend + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + + +#if [ -x /usr/bin/dircolors ]; then + # I don't like these aliases - they work only in command line + # but not in scripts I run from command line. + # Color parameters must be passed via environment. + #alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +#fi case "$HOME" in /home/*) - home_link="`readlink /home`" - if [ -n "$home_link" ]; then + if [ -L /home ]; then START_DIR="`pwd`" && cd "$HOME" && HOME="`pwd`" && @@ -18,6 +49,11 @@ case "$HOME" in ;; esac + +OPS1="$OPS1\\$" +PS1="$OPS1 " + + case "$SHELL" in */bash) [ "`type -t ls`" = alias ] && unalias ls @@ -73,6 +109,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 @@ -81,6 +118,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) @@ -96,7 +135,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/"; } @@ -139,6 +178,13 @@ include() mc() { + case "$SHELL" in + */bash) + MC_SAVE_OPS1="$OPS1" + OPS1="\u@\h " + ;; + esac + if [ -n "$SLOWTERM" ]; then MC_SLOW="--slow" fi @@ -199,12 +245,28 @@ 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) @@ -216,3 +278,12 @@ tmux() { ;; esac } + + +if [ -f /usr/local/bin/virtualenvwrapper_lazy.sh ]; then + source /usr/local/bin/virtualenvwrapper_lazy.sh +fi + +if which pyenv >/dev/null 2>&1; then + eval "`pyenv init -`" +fi