* add $HOME/bin to $PATH if it exists
[lab.git] / TipAndDoc / .bashrc
1 # enable programmable completion features (you don't need to enable
2 # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
3 # sources /etc/bash.bashrc).
4 if [ -f /etc/bash_completion ]; then
5     . /etc/bash_completion
6 fi
7
8 umask 022   # create new file with '644'
9 ulimit -c 0 # no dump core
10 export PAGER=less
11 export LESS='-FRX -i -P ?f%f:(stdin).  ?lb%lb?L/%L..  [?eEOF:?pb%pb\%..]'
12
13 HISTSIZE=50000
14 HISTFILESIZE=50000
15
16 set -o notify   # notify end of background job immediately
17
18 shopt -s histappend     # append command history instead of overwrite
19 shopt -s checkhash      # check always PATH hash table
20 shopt -s cmdhist        # save multi lines command to one line
21 shopt -s no_empty_cmd_completion    # no complementation with no input
22 shopt -s histverify     # check command history before execute
23
24
25 # view last 30 history or search from last 1000 history
26 function i {
27     if [ "$1" ]; then history 1000 | grep "$@"; else history 30; fi
28 }
29
30 # view last 30 history or search from all history
31 function I {
32     if [ "$1" ]; then history | grep "$@"; else history 30; fi
33 }
34
35 if [ -f $BASH_COMPLETION_DIR/git -o -f $BASH_COMPLETION_COMPAT_DIR/git ]; then
36     export PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1)\$ '
37 else
38     export PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
39 fi
40
41 if [ -d $HOME/bin -a `echo $PATH | grep -c $HOME/bin` -eq 0 ]; then
42     export PATH=$PATH:$HOME/bin
43 fi
44
45 function svnst {
46     svn st $@ | grep "^[^?]"
47 }
48
49 function hexcmp {
50     cmp -l "$@" | awk '{printf "%08X %02X %02X\n", $1-1, strtonum(0$2), strtonum(0$3)}'
51 }
52
53 alias vi='vim'
54 alias sudo='sudo -H '
55 alias rm='rm -v'
56 alias screen='screen -U -R'
57 alias mv='mv -i'
58 alias cp='cp -i'