Skip to content

Instantly share code, notes, and snippets.

@mratsim
Created January 29, 2017 12:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mratsim/73a64e8424701face9057e6a7f1e8f02 to your computer and use it in GitHub Desktop.
Save mratsim/73a64e8424701face9057e6a7f1e8f02 to your computer and use it in GitHub Desktop.
.bashrc for OSX
date
echo
fortune | cowsay -f $(gls /usr/local/Cellar/cowsay/3.04/share/cows/ | gshuf -n1)
echo
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
if [ -f $HOME/.git-completion.bash ]; then
source $HOME/.git-completion.bash
fi
complete -cf sudo
complete -cf man
shopt -s cdspell
shopt -s checkwinsize
shopt -s cmdhist
shopt -s dotglob
shopt -s expand_aliases
shopt -s extglob
shopt -s histappend
shopt -s hostcomplete
shopt -s nocaseglob
export HISTSIZE=10000
export HISTFILESIZE=${HISTSIZE}
export HISTCONTROL=ignoreboth
export GREP_COLOR="1;33"
alias grep='grep --color=auto'
alias ls='gls --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias ll='gls -lh --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias la='gls -lha --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias lr='gls -lhrt --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias cp="cp -i" # confirm before overwriting something
alias mv="mv -i" # confirm before overwriting something
alias rm="grm -I" # confirm before removing more than 3 files
alias df='df -h' # human-readable sizes
#alias free='free -m' # show sizes in MB
alias ducks='gdu -cks * |sort -rn |ghead -11' # disk hog
alias sps='ps aux | grep -v grep | grep' # search process
# # ex - archive extractor
# # usage: ex <file>
# ex ()
# {
# if [ -f $1 ] ; then
# case $1 in
# *.tar.bz2) tar xjf $1 ;;
# *.tar.gz) tar xzf $1 ;;
# *.tar.xz) tar xJf $1 ;;
# *.bz2) bunzip2 $1 ;;
# *.rar) unrar x $1 ;;
# *.gz) gunzip $1 ;;
# *.tar) tar xf $1 ;;
# *.tbz2) tar xjf $1 ;;
# *.tgz) tar xzf $1 ;;
# *.zip) unzip $1 ;;
# *.Z) uncompress $1;;
# *.7z) 7z x $1 ;;
# *) echo "'$1' cannot be extracted via ex()" ;;
# esac
# else
# echo "'$1' is not a valid file"
# fi
# }
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
# when connecting to SSH, start or reattach screen session
if [ -n "$SSH_CONNECTION" ] && [ -z "$SCREEN_EXIST" ]; then
export SCREEN_EXIST=1
screen -DR
fi
#search from CLI
function google { IFS='+'; links http://www.google.com/search\?q="$*";}
# # translate bonjour fr zh; par défault de l'anglais vers le français
# translate() {
# wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=${2:-en}|${3:-fr}" | sed -E -n 's/[[:alnum:]": {}]+"translatedText":"([^"]+)".*/\1/p';
# echo ''
# return 0;
# }
translate() {
wget -U "Mozilla/5.0" -qO - "https://translate.google.com/translate_a/single?client=t&sl=${3:-auto}&tl=${2:-en}&dt=t&q=$1" | cut -d'"' -f2;
}
# Find a file with a pattern in name:
function ff()
{ find . -type f -iname '*'$*'*' -ls ; }
# Find a file with pattern $1 in name and Execute $2 on it:
function fe()
{ find . -type f -iname '*'$1'*' -exec "${2:-file}" {} \; ; }
# Tex related function
function greptex()
{ grep -i "$*" -n --color=auto {,**/}*.tex ; }
# Install rust nightlies
rust_new_nightly_to_brew() {
curl -sSf https://static.rust-lang.org/rustup.sh -o /tmp/rustup.sh &&
bash /tmp/rustup.sh --disable-sudo --channel=nightly \
--prefix=$(brew --prefix)/Cellar/rustup-nightly/$(date '+%Y-%m-%d') &&
brew switch rustup-nightly $(date '+%Y-%m-%d')
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment