My Default Shell Configuration - Oh-my-zsh
###History of my default shell
I started to learn C Shell because of the part-time job I had got during university. They were using FreeBSD as the default working environment. At the second year of the job, I tried Tcsh and Bash, then made Bash my default shell.
From time to time, I started to use Mac in recent years and also changed to use zsh.
###What is Z Shell ?
Zsh is a shell designed for interactive use, although it is also a powerful scripting language.
The reason I use zsh is all about Oh my zsh
###What is OH MY ZSHELL ?
oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout…
###How to Install?
Check Setup section
###My Configuration
Basic
#Theme (with git status character)
ZSH_THEME="dpoggi"
CASE_SENSITIVE="true"
#Aliases of zsh
alias zshconfig="vim ~/.zshrc"
alias ohmyzsh="vim ~/.oh-my-zsh"
#Prevent tragedy
alias rm='rm -i'
source $ZSH/oh-my-zsh.shNode.js Related
. ~/.nvm/nvm.sh
nvm use default
. <(npm completion)Autojump - Very useful tool for jumping to path i’ve visit most
#autojump
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.shPlugins Summary
plugins=(brew copydir copyfile encode64 git node osx rsync sublime urltools vagrant)
brew
brews: List installed brews
copydir & copyfile
copydir: Copy current directorycopyfile $file: Copy specific file- Use
copypaste > [filename]to paste file/dir to whereever you want
encode64
encode64 myfile: Encode myfile, shortcute64decode64 myfile: Decode myfile, shortcutd64
git
- Enable a punch of alias and auto completion
- github
empty_gh repo: Create empty Github repository repoexist_gh repo: Add existed project to repository repo
- node
node-docs domain: Open Node.js document of current version of node and go to domain section
- osx Very Useful
tab: Open new tabvsplit_tab: Vertical split tabsplit_tab: Horizontal split tabpfd: Current directory of Finderpfs: Current file of Findercdf: Change directory(cd) to current directory of Finderpushdf: Remember current directory of Finderquick-look myfile: Open a quick look window of myfile like selecting file in Finderman-preview ls: Open a preview window with ls‘s manualtrash myfile: Move myfile to trashvncviewer dummy.com: Open VNCViewer
- rsync
rsync-copyrsync-moversync-updatersync-synchronize- Easy to understand…
COMMAND path1 path2
- sublime
st: Open Sublime Text2stt: Open current directory in Sublime Text2
- urltools
urlencode url: Encode URLurldecode url: Decode URL
- vagrant
- Auto completion support
I only installed a few plugins. There’re still a lot of plugins you can use, please check the plugin list here.
After noting down all the plugin I’ve installed as a reminder. I decided to review all the supported plugins of Oh-my-zsh, I found out there’re so many ruby/rails related plugins. Maybe I could create some plugin for Node.js. Any ideas ? please tell me.