aboutsummaryrefslogblamecommitdiff
path: root/bash/bashrc
blob: cdfcaffebe734fe73b62fb8ed70e80384d5600a2 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                
                         
 
                        
                    
                
 
                                                     
                      
 
                                           
                        
 



                          
                                      
                            
 
                                

                              
                                         

                              
                                                
                                 
 
                                                  
                            
 
                                                        

                              
                                            
                             
 
                                      
                            
 
                                  
                            
 
                              
                             
 
                                           
                               
 
                                              
                                            
 

                            
 

                                                 
 
                              

                                                            

                              
 

                                           
 

                  
 
                                                    

                                  
                                         

             






                                 

  
# Don't do anything if not running interactively
[[ -z "$PS1" ]] && return

# Keep plenty of history
HISTFILESIZE=1000000
HISTSIZE=1000000

# Ignore duplicate commands and whitespace in history
HISTCONTROL=ignoreboth

# Keep the times of the commands in history
HISTTIMEFORMAT='%F %T  '

# Don't tell me about mail
unset MAILCHECK
shopt -u mailwarn

# Autocorrect fudged paths in cd calls
shopt -s cdspell &>/dev/null

# Update the hash table properly
shopt -s checkhash &>/dev/null

# Warn me about stopped jobs when exiting
shopt -s checkjobs &>/dev/null

# Update columns and rows if window size changes
shopt -s checkwinsize &>/dev/null

# Put multi-line commands onto one line of history
shopt -s cmdhist &>/dev/null

# Expand globbing and variables for directory completion
shopt -s direxpand &>/dev/null

# Autocorrect fudged paths during completion
shopt -s dirspell &>/dev/null

# Include dotfiles in pattern matching
shopt -s dotglob &>/dev/null

# Enable advanced pattern matching
shopt -s extglob &>/dev/null

# Enable double-starring paths
shopt -s globstar &>/dev/null

# Append rather than overwrite Bash history
shopt -s histappend &>/dev/null

# Ignore me if I try to complete an empty line
shopt -s no_empty_cmd_completion &>/dev/null

# Never beep at me
setterm -bfreq 0 &>/dev/null

# Turn off annoying and useless flow control keys
stty -ixon &>/dev/null

# Use completion, if available
[[ -e /etc/bash_completion ]] && source /etc/bash_completion

# I always want a unified diff
alias diff='diff -u'

# I actually use ed now and then, go figure
alias ed='ed -p:'

# Make gdb shut up
alias gdb='gdb -q'

# Protect innocent MySQL databases from my stupidity
alias mysql='mysql --safe-updates'

# I always do this, and I hate slow train
alias sl='ls'

# Load any supplementary scripts
if [[ -d "$HOME/.bashrc.d" ]]
then
    for file in $HOME/.bashrc.d/*
    do
        source $file
    done
fi