dotar/zsh/aliases.zsh

285 lines
7.8 KiB
Bash

# Aliases in this file are bash and zsh compatible
# Don't change. The following determines where YADR is installed.
yadr=$HOME/.yadr
yadr_zsh=$yadr/zsh
# Get operating system
platform='unknown'
unamestr=$(uname)
if [[ $unamestr == 'Linux' ]]; then
platform='linux'
elif [[ $unamestr == 'Darwin' ]]; then
platform='darwin'
fi
# YADR support
alias yav='yadr vim-add-plugin'
alias ydv='yadr vim-delete-plugin'
alias ylv='yadr vim-list-plugin'
alias yup='yadr update-plugins'
alias yip='yadr init-plugins'
# PS
psm() {
ps aux | awk 'NR>1 {$5=int($5/1024)"M";$6=int($6/1024)"M";}{ print;}'
}
# Moving around
alias cdb='cd -'
alias cls='clear;ls'
# Show human friendly numbers and colors
alias df='df -h'
alias du='du -h -d 2'
if [[ $platform == 'linux' ]]; then
alias ll='ls -alh --color=auto'
alias ls='ls --color=auto'
elif [[ $platform == 'darwin' ]]; then
alias ll='ls -alGh'
alias ls='ls -Gh'
fi
# show me files matching "ls grep"
alias lsg='ll | grep'
alias lp='ls --hide="*.pyc"'
# Alias Editing
TRAPHUP() {
source $yadr/zsh/aliases.zsh
}
alias ae='vim $yadr/zsh/aliases.zsh' #alias edit
alias ar='source $yadr/zsh/aliases.zsh' #alias reload
alias gar="killall -HUP -u \"$USER\" zsh" #global alias reload
# vim using
mvim --version > /dev/null 2>&1
MACVIM_INSTALLED=$?
if [ $MACVIM_INSTALLED -eq 0 ]; then
alias vim="mvim -v"
fi
# mimic vim functions
alias :q='exit'
# vimrc editing
alias ve='vim ~/.vimrc'
# zsh profile editing
alias ze='vim ~/.zshrc'
# Git Aliases
alias gl='git l'
alias gs='git status'
alias gstsh='git stash'
alias gst='git stash'
alias gsp='git stash pop'
alias gsa='git stash apply'
alias gsh='git show'
alias gshw='git show'
alias gshow='git show'
alias gi='vim .gitignore'
alias gcm='git ci -m'
alias gcim='git ci -m'
alias gci='git ci'
alias gcp='git cp'
alias ga='git add -A'
alias gap='git add -p'
alias guns='git unstage'
alias gunc='git uncommit'
alias gm='git merge'
alias gms='git merge --squash'
alias gam='git amend --reset-author'
alias grv='git remote -v'
alias grr='git remote rm'
alias grad='git remote add'
alias gr='git rebase'
alias gra='git rebase --abort'
alias ggrc='git rebase --continue'
alias gbi='git rebase --interactive'
alias co='git co'
alias gf='git fetch'
alias gfp='git fetch --prune'
alias gfa='git fetch --all'
alias gfap='git fetch --all --prune'
alias gfch='git fetch'
alias gd='git diff'
alias gb='git b'
alias gdf="git diff-tree --no-commit-id --name-only -r"
# Staged and cached are the same thing
alias gdc='git diff --cached -w'
alias gds='git diff --staged -w'
alias gpub='grb publish'
alias gtr='grb track'
alias gpl='git pull'
alias gplr='git pull --rebase'
alias gps='git push'
alias gpsh='git push -u origin `git rev-parse --abbrev-ref HEAD`'
alias gnb='git nb' # new branch aka checkout -b
alias grs='git reset'
alias grsh='git reset --hard'
alias gcln='git clean'
alias gclndf='git clean -df'
alias gclndfx='git clean -dfx'
alias gsm='git submodule'
alias gsmi='git submodule init'
alias gsmu='git submodule update'
alias gt='git t'
alias gbg='git bisect good'
alias gbb='git bisect bad'
alias gdmb='git branch --merged | grep -v "\*" | xargs -n 1 git branch -d'
alias gfR='gf origin master; gwR origin/master'
alias gpb='git push origin "$(git-branch-current 2> /dev/null):build"'
alias gfs="gs;gfr;gsp"
git_rebase_to_origin() {
BRANCH=${1:-master}
DIRTY=false
git fetch origin
[[ -n $(git status -s) ]] && DIRTY=true
$DIRTY && echo "Git is dirty"
$DIRTY && (git add .; git stash)
git rebase origin/$BRANCH
$DIRTY && (git stash pop; git reset HEAD)
}
git_rm_tag_of_remote() {
TAG=$1
REMOTE=${2:-origin}
git tag -d $TAG
git push --delete $REMOTE $TAG
}
git_log_history='git log -p --'
# Common shell functions
alias less='less -r'
alias tf='tail -f'
alias l='less'
alias lh='ls -alt | head' # see the last modified files
alias screen='TERM=screen screen'
alias cl='clear'
# Zippin
alias gz='tar -zcvf'
# Ruby
alias c='rails c' # Rails 3
alias co='script/console' # Rails 2
alias cod='script/console --debugger'
#If you want your thin to listen on a port for local VM development
#export VM_IP=10.0.0.1 <-- your vm ip
alias ts='thin start -a ${VM_IP:-127.0.0.1}'
alias ms='mongrel_rails start'
alias tfdl='tail -f log/development.log'
alias tftl='tail -f log/test.log'
alias ka9='killall -9'
alias k9='kill -9'
# Gem install
alias sgi='sudo gem install --no-ri --no-rdoc'
# TODOS
# This uses NValt (NotationalVelocity alt fork) - http://brettterpstra.com/project/nvalt/
# to find the note called 'todo'
alias todo='open nvalt://find/todo'
# Forward port 80 to 3000
alias portforward='sudo ipfw add 1000 forward 127.0.0.1,3000 ip from any to any 80 in'
alias rdm='rake db:migrate'
alias rdmr='rake db:migrate:redo'
# Zeus
alias zs='zeus server'
alias zc='zeus console'
alias zr='zeus rspec'
alias zrc='zeus rails c'
alias zrs='zeus rails s'
alias zrdbm='zeus rake db:migrate'
alias zrdbtp='zeus rake db:test:prepare'
alias zzz='rm .zeus.sock; pkill zeus; zeus start'
# Rspec
alias rs='rspec spec'
alias sr='spring rspec'
alias src='spring rails c'
alias srgm='spring rails g migration'
alias srdm='spring rake db:migrate'
alias srdt='spring rake db:migrate'
alias srdmt='spring rake db:migrate db:test:prepare'
# Sprintly - https://github.com/nextbigsoundinc/Sprintly-GitHub
alias sp='sprintly'
# spb = sprintly branch - create a branch automatically based on the bug you're working on
alias spb="git checkout -b \`sp | tail -2 | grep '#' | sed 's/^ //' | sed 's/[^A-Za-z0-9 ]//g' | sed 's/ /-/g' | cut -d"-" -f1,2,3,4,5\`"
alias hpr='hub pull-request'
alias grb='git recent-branches'
# Finder
alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app'
alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app'
alias dbtp='spring rake db:test:prepare'
alias dbm='spring rake db:migrate'
alias dbmr='spring rake db:migrate:redo'
alias dbmd='spring rake db:migrate:down'
alias dbmu='spring rake db:migrate:up'
# Homebrew
alias brewu='brew update && brew upgrade && brew cleanup && brew doctor'
# emacs
alias emacs="env LC_CTYPE=zh_CN.UTF-8 emacs"
# rails
alias rails_setup='rails db:reset; rails db:seed RAILS_ENV=test'
alias rails_test='rspec && rubocop'
alias start_dropbox='~/.dropbox-dist/dropboxd'
alias unzip_CN="unzip -O GB18030"
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
alias gpo='git push origin'
case "$OSTYPE" in
cygwin*)
alias open="cmd /c start"
;;
linux*)
alias start="xdg-open"
alias open="xdg-open"
;;
darwin*)
alias start="open"
;;
esac
alias ssh_by_password='ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no'
alias ssh_copy_id='ssh-copy-id -o PreferredAuthentications=password -o PubkeyAuthentication=no'
alias chrome_proxy="google-chrome --proxy-server='http://127.0.0.1:8118'"
alias ls_folder_size="du -sch .[!.]* * | sort -h"
alias top_by_memory="top -o %MEM"
alias gcaa="gia .; gcF"
alias ror_ctags="ctags -R --languages=ruby --exclude=.git --exclude=log . \$(bundle list --paths)"
alias find_large_files="sudo find / -xdev -type f -size +50M"
alias vim_plain="vim -u NONE"
alias edit_alias="vim $yadr_zsh/aliases.zsh $yadr_zsh/functions.zsh -p"
alias yarn_sass="SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ yarn"
alias vim="nvim"
## docker
alias docker_clean_images='docker rmi $(docker images -a --filter=dangling=true -q)'
alias docker_purge='docker stop $(docker ps -qa);docker rm $(docker ps -qa)'
alias docker_restart_in_mac='killall Docker && open /Applications/Docker.app'
## source files
alias ss="source ~/.zshrc"
alias delete_all_binaries="find . -type f -perm -u+x -not -path './.git/*' | xargs rm"
## grep && ag
alias agq="ag -Q"