switch from bash to zsh
I finally came around to switch from bash
to zsh
. While reading hacker news I found a nice little setup on github: oh-my-zsh
Installation
Installation was quite easy:
1
2
3
4
$ brew install zsh
$ cd $HOME
$ git clone https://github.com/robbyrussell/oh-my-zsh.git .oh-my-zsh
$ sudo chsh -s /usr/local/bin/zsh yourusernamehere
NOTE: You may need to edit /etc/shells
to have /usr/local/bin/zsh
.
Configuration
I did very little configuration. All I really did is to choose a nice theme from the many available themes. Anyhow, my .zshrc
looks like this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="nanotech"
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Comment this out to disable weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=(osx git git-flow fabric groovy grails python)
source $ZSH/oh-my-zsh.sh
# Customize to your needs...
#---------------------------------------------------------------------
# prompt and path
export PATH=~/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH
#---------------------------------------------------------------------
# env setup
export LANG="de_DE.UTF-8"
# gnuchlog vim plugin
export EMAIL="Stefan Eletzhofer <stefan.eletzhofer@nexiles.de>"
export EDITOR="/Applications/MacVim.app/Contents/MacOS/Vim -g -f "
#---------------------------------------------------------------------
# python
export PYTHONSTARTUP=~/.pyinit
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.6
export WORKON_HOME=~/.virtualenvs
export PROJECT_HOME=$HOME/develop
export VIRTUALENV_ROOT=$WORKON_HOME
export JYTHON_HOME=$(brew --prefix jython)/libexec
export PATH=$PATH:$JYTHON_HOME/bin
. /usr/local/bin/virtualenvwrapper.sh
#---------------------------------------------------------------------
# NODE.JS
export NODE_PATH=/usr/local/lib/node
export JS_CMD=node
#---------------------------------------------------------------------
# Ruby RVM
source ~/.rvm/scripts/rvm
#---------------------------------------------------------------------
# GROOVY
export GROOVY_HOME=$(brew --prefix groovy)/libexec
#---------------------------------------------------------------------
# alias
alias ls="gls --color"
alias la="ls -la"
alias ll="ls -l"
alias serve="python -mSimpleHTTPServer"
#---------------------------------------------------------------------
# direnv hook
eval `direnv hook $0`
This post is licensed under CC BY 4.0 by the author.