Cheatsheet

ntwo1980 edited this page Jul 24, 2017 · 47 revisions

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

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

Commands

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

example:

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

Tab-completion

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

Git

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
gdt git diff-tree --no-commit-id --name-only -r
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)
ggsup git branch --set-upstream-to=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
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
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.

Editors

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

Symfony2

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

tmux

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

Systemd

systemctl

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

Upgrade

To upgrade .oh-my-zsh, run:

upgrade_oh_my_zsh