Matthias John edited this page Sep 25, 2018 · 56 revisions

To try it out if you have just cloned it (to your home directory):

source ~/.oh-my-zsh/templates/zshrc.zsh-template


Command Description
tabs Create a new tab in the current directory (macOS - requires enabling access for assistive devices under System Preferences).
take Create a new directory and change to it, will create intermediate directories as required.
x / extract Extract an archive (supported types: tar.{bz2,gz,xz,lzma}, bz2, rar, gz, tar, tbz2, tgz, zip, Z, 7z).
zsh_stats Get a list of the top 20 commands and how many times they have been run.
uninstall_oh_my_zsh Uninstall Oh-my-zsh.
upgrade_oh_my_zsh Upgrade Oh-my-zsh.
source ~/.zshrc Uptake new changes

Alias Command
alias list all aliases
.. cd ..
... cd ../..
.... cd ../../..
..... cd ../../../..
/ cd /
~ cd ~
cd +n switch to directory number n
1 cd -
2 cd -2
3 cd -3
4 cd -4
5 cd -5
6 cd -6
7 cd -7
8 cd -8
9 cd -9
md mkdir -p
rd rmdir
d dirs -v (lists last used directories)

See ~/.oh-my-zsh/lib/directories.zsh



alias -s rb=vim #opens ruby files in vim
# $ foo.rb 
# vim => foo.rb
alias -g gp='| grep -i' #creates a global alias for grep
# $ ps ax gp ruby
# (all ruby process will be displayed)
Flag Description
L print each alias in the form of calls to alias
g list or define global aliases
m print aliases matching specified pattern
r list or define regular aliases
s list or define suffix aliases


For options and helpful text of what they do
ls -(tab)
cap (tab)
rake (tab)
ssh (tab)
sudo umount (tab)
kill (tab)
unrar (tab)


Dynamic access to current branch name with the current_branch function
git pull origin $(current_branch)
grb publish $(current_branch) origin
Alias Command
g git
ga git add
gaa git add --all
gapa git add --patch
gb git branch
gba git branch -a
gbd git branch -d
gbl git blame -b -w
gbnm git branch --no-merged
gbr git branch --remote
gbs git bisect
gbsb git bisect bad
gbsg git bisect good
gbsr git bisect reset
gbss git bisect start
gc git commit -v
gc! git commit -v --amend
gca git commit -v -a
gca! git commit -v -a --amend
gcan! git commit -v -a --no-edit --amend
gcans! git commit -v -a -s --no-edit --amend
gcam git commit -a -m
gcsm git commit -s -m
gcb git checkout -b
gcf git config --list
gcl git clone --recursive
gclean git clean -fd
gpristine git reset --hard && git clean -dfx
gcm git checkout master
gcd git checkout develop
gcmsg git commit -m
gco git checkout
gcount git shortlog -sn
gcp git cherry-pick
gcpa git cherry-pick --abort
gcpc git cherry-pick --continue
gcs git commit -S
gd git diff
gdca git diff --cached
gdct git describe --tags `git rev-list --tags --max-count=1`
gdt git diff-tree --no-commit-id --name-only -r
gdw git diff --word-diff
gf git fetch
gfa git fetch --all --prune
gfo git fetch origin
gg git gui citool
gga git gui citool --amend
ggpnp git pull origin $(current_branch) && git push origin $(current_branch)
ggpull git pull origin $(current_branch)
ggl git pull origin $(current_branch)
ggpur git pull --rebase origin $(current_branch)
glum git pull upstream master
ggpush git push origin $(current_branch)
ggp git push origin $(current_branch)
ggfl git push --force-with-lease origin <your_argument>/$(current_branch)
ggsup git branch --set-upstream-to=origin/$(current_branch)
gpsup git push --set-upstream origin $(current_branch)
gignore git update-index --assume-unchanged
gignored git ls-files -v | grep "^:lower:"
git-svn-dcommit-push git svn dcommit && git push github master:svntrunk
gk gitk --all --branches
gl git pull
glg git log --stat --max-count = 10
glgg git log --graph --max-count = 10
glgga git log --graph --decorate --all
glo git log --oneline --decorate --color
glog git log --oneline --decorate --color --graph
glp _git_log_prettily (git log --pretty=$1)
gm git merge
gmt git mergetool --no-prompt
gp git push
gpoat git push origin --all && git push origin --tags
gr git remote
grb git rebase
grba git rebase --abort
grbc git rebase --continue
grbs git rebase --skip
grbi git rebase -i
grh git reset HEAD
grhh git reset HEAD --hard
grmv git remote rename
grrm git remote remove
grset git remote set-url
grt cd $(git rev-parse --show-toplevel || echo ".")
grup git remote update
grv git remote -v
gsd git svn dcommit
gsps git show --pretty = short --show-signature
gsr git svn rebase
gss git status -s
gst git status
gsta git stash save
gstaa git stash apply
gstd git stash drop
gstl git stash list
gstp git stash pop
gsts git stash show --text
gsu git submodule update
gts git tag -s
gunignore git update-index --no-assume-unchanged
gunwip git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1
gup git pull --rebase
gvt git verify-tag
gwch git whatchanged -p --abbrev-commit --pretty = medium
gwip git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--"

You also find these commands in Dash as a Cheat-sheet.


Alias Command
stt (When using sublime plugin) Open current directory in Sublime Text 2/3
v (When using vi-mode plugin) Edit current command line in Vim


Alias Command
sf php ./app/console
sfcl php app/console cache:clear
sfcontainer sf debug:container
sfcw sf cache:warmup
sfgb sf generate:bundle
sfroute sf debug:router
sfsr sf server:run -vvv


Alias Command
ta tmux attach -t
tad tmux attach -d -t
ts tmux new-session -s
tl tmux list-sessions
tksv tmux kill-server
tkss tmux kill-session -t



Command Description
sc-status NAME show the status of the NAME process
sc-show NAME show the NAME systemd .service file
sc-start NAME start the NAME process
sc-stop NAME stop the NAME process
sc-restart NAME restart the NAME process
sc-enable NAME enable the NAME process to start at boot
sc-disable NAME disable the NAME process at boot


To upgrade .oh-my-zsh, run:

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.