.bashrc
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 03 Nov 2010 11:59:09 +0200
changeset 106 6bcd784caf97
parent 104 653e4ea98ff9
parent 105 03e9d94ca30a
child 107 43f69ef5ec58
permissions -rw-r--r--
Automated merge with file:///cygdrive/d/srv/hg-home/skel
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
# XXX
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
# [ -f /etc/bashrc ] && . /etc/bashrc
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
# XXX for mc, cvs, svn, ...
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
# export EDITOR=vim
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
# XXX vim and gnome-terminal have support for 256 colours in fedora 8 at least
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
# Note debian/ubuntu users should install the ncurses-term package to support this
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
# export TERM=xterm-256color
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
# XXX highlight $HOST:$PWD prompt
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
# PS1='\[\e[1m\]\h:\w\$\[\e[0m\] '
17
e11e0adb941b More verbose prompt, to prevent tangling with another shells.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 16
diff changeset
    14
PS1='bash# '
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
41
d410aac55409 Easy cd to often used dirs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 34
diff changeset
    16
# Easy cd to often used dirs.
d410aac55409 Easy cd to often used dirs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 34
diff changeset
    17
export CDPATH=.:~:~/devel:~/devel/gav-devel
d410aac55409 Easy cd to often used dirs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 34
diff changeset
    18
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
# Don't store duplicate adjacent items in the history.
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
#   ignorespace     do not save lines that start with space
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
#   erasedups       all previous lines matching the current line to be removed from
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
#                   the history list before that line is saved
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
HISTCONTROL=igrorespace:erasedups
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
# Don't store noisy/dumb items.
104
653e4ea98ff9 Exclude 'cd' command from history which comes from MC.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 93
diff changeset
    26
# TIP: MC command start with space.
653e4ea98ff9 Exclude 'cd' command from history which comes from MC.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 93
diff changeset
    27
HISTIGNORE=" ?cd ..":" cd *":"e .":"sudo mv *":"sudo rm *":"sudo cp *":"sudo mkdir *":"sudo chmod *":"sudo chown *":"vlc*":ls:pwd
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
# To these options assigned default value, as they satisfy my needs I comment them.
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
# HISTFILE=~/.bash_history  # where is command history stored
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
# HISTFILESIZE=500          # how many lines been in $HISTFILE
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
# HISTSIZE=500              # how many lines been stored in bash process
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
# Can be XXX /visible. I like bell.
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
# set bell-style visible
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
28
da6841fb89e9 Minor errors in the spelling of a directory component in a cd command will be corrected.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 16
diff changeset
    37
# Minor errors in the spelling of a directory component in a cd command will
da6841fb89e9 Minor errors in the spelling of a directory component in a cd command will be corrected.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 16
diff changeset
    38
# be corrected.
da6841fb89e9 Minor errors in the spelling of a directory component in a cd command will be corrected.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 16
diff changeset
    39
shopt -s cdspell
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
43
6c53a61678d7 Added useful bash settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 42
diff changeset
    41
# Save all lines of a multiple-line command in the same history entry.
6c53a61678d7 Added useful bash settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 42
diff changeset
    42
shopt -s cmdhist
6c53a61678d7 Added useful bash settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 42
diff changeset
    43
6c53a61678d7 Added useful bash settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 42
diff changeset
    44
# Allows files beginning with a dot ('.') to be returned in the results of path-name expansion.
6c53a61678d7 Added useful bash settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 42
diff changeset
    45
shopt -s dotglob
6c53a61678d7 Added useful bash settings.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 42
diff changeset
    46
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
# Adjust settings according to current terminal window width
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
# which may have changed while the last command was running
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
# (which is a common occurance for vim/less/etc.)
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
# Note this is already set in /etc/bashrc on Fedora 8 at least.
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
shopt -s checkwinsize
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
# Let me have core dumps
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
ulimit -c unlimited
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
44
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
    56
################################################################
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
# shortcut aliases
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
alias ..="cd .."        #go to parent dir
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
alias ...="cd ../.."    #go to grandparent dir
105
03e9d94ca30a Fix assignment.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 93
diff changeset
    61
alias --="cd -"         # go to previous dir
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
alias l.='ls -d .*'     #list hidden files
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
alias ll='ls -lhrt'     #extra info compared to "l"
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
alias lld='ls -lUd */'  #list directories
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
# make and change to a directory
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
md () { mkdir -p "$1" && cd "$1"; }
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
# GREP_COLOR=bright yellow on black bg.
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
# use GREP_COLOR=7 to highlight whitespace on black terminals
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
# LANG=C for speed. See also: http://www.pixelbeat.org/scripts/findrepo
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
# alias grep='GREP_COLOR="1;33;40" LANG=C grep --color=auto'
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
# alias ls="BLOCK_SIZE=\'1 ls --color=auto" #enable thousands grouping and colour
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
# alias minicom='minicom -c on' #enable colour
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
# alias cal='cal -3' #show 3 months by default
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
# alias units='units -t' #terse mode
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
# alias diff='LC_ALL=C TZ=GMT0 diff -Naur' #normalise diffs for distribution
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
# alias lynx='lynx -force_html -width=$COLUMNS' #best settings for viewing HTML
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
# alias links='links -force-html' #need to enable colour in config menu manually
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
# alias xterm='xterm -fb "" -bg black -fg gray -fa "Sans Mono" -fs 10 +sb -sl 3000 -g 80x50+1+1'
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
# alias sudo='sudo env PATH=$PATH' #work around sudo built --with-secure-path (ubuntu)
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
# alias vim='vim -X' #don't try to contact xserver (which can hang on network issues)
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
# alias gdb='gdb -tui' #enable the text window interface if possible
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
# what most people want from od (hexdump)
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
# alias hd='od -Ax -tx1z -v'
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
57
99d0eb7974d6 Remove --comment-delimiters-on-blank-lines option from indent.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 45
diff changeset
    89
# --blank-lines-after-procedures --break-before-boolean-operator --braces-on-if-line --braces-on-struct-decl-line
99d0eb7974d6 Remove --comment-delimiters-on-blank-lines option from indent.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 45
diff changeset
    90
# --comment-indentationn --space-after-cast --line-comments-indentationn --declaration-indentationn --honour-newlines
99d0eb7974d6 Remove --comment-delimiters-on-blank-lines option from indent.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 45
diff changeset
    91
# --no-space-after-function-call-names --no-tabs --struct-brace-indentationn --start-left-side-of-comments
99d0eb7974d6 Remove --comment-delimiters-on-blank-lines option from indent.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 45
diff changeset
    92
alias indent-bifit="indent -bap -bbo -br -brs -cdw -ce -cli0 -c0 -cs -d0 -di0 -hnl -l120 -lc90 -i4 -npcs -ppi 3 -npsl -nut -sbi4 -sc"
45
5c94d2613433 Added alias for reindent code for our job rules.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
    93
11
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
# canonicalize path (including resolving symlinks)
339675ac5fd3 Base version of .bashrc.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
# alias realpath='readlink -f'
32
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
    96
44
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
    97
# Use bash-completion, if available.
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
    98
if [ -f /etc/bash_completion ]; then
74
06fb23a66904 Under Cygwin bash completition start a long time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 57
diff changeset
    99
  # Under Cygwin bash completition start a long time.
06fb23a66904 Under Cygwin bash completition start a long time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 57
diff changeset
   100
  if [ ! "$OSTYPE" = cygwin ]; then
06fb23a66904 Under Cygwin bash completition start a long time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 57
diff changeset
   101
    . /etc/bash_completion
06fb23a66904 Under Cygwin bash completition start a long time.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 57
diff changeset
   102
  fi
44
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   103
fi
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   104
if [ -f $HOME/usr/etc/bash_completion ]; then
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   105
  . $HOME/usr/etc/bash_completion
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   106
fi
e4703f904e4b Use bash-completion, if available.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   107
32
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
   108
# Special case for CYGWIN to properly display russian letters in rxvt.
34
cddddb009921 Added useful comment.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 32
diff changeset
   109
# Don't forget set in Windows SHELL=/bin/bash. If default SHELL is sh then .bashrc will not be read.
32
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
   110
if [ -n "$COMSPEC" ]; then
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
   111
  if [ x$OSTYPE = xcygwin ]; then
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
   112
    export LANG=ru_RU.CP1251
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
   113
  fi
031655c93305 Special case for CYGWIN to properly display russian letters in rxvt.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 30
diff changeset
   114
fi