My Default Shell Configuration - Oh-my-zsh
/ 3 min read
###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
Terminal window #Theme (with git status character)ZSH_THEME="dpoggi"CASE_SENSITIVE="true"#Aliases of zshalias zshconfig="vim ~/.zshrc"alias ohmyzsh="vim ~/.oh-my-zsh"#Prevent tragedyalias rm='rm -i'source $ZSH/oh-my-zsh.sh -
Node.js Related
Terminal window . ~/.nvm/nvm.shnvm 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.sh -
Plugins 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.