oh my zsh 導入手順メモ (Mac)

# はじめに
Macに oh-my-zsh をインストールした際の手順をメモしておきます。
zsh は iTerm2 で利用することを前提とした手順になっております。

**もくじ**
1. zsh インストール
2. oh my zsh インストール
3. デフォルトのログインシェルを設定
4. iTerm2 インストール/シェル設定
5. zsh, iTerm2 テーマ設定
6. PATHの追加読み込み設定
7. .bash_profile読み込み設定

**参考サイト**
[Oh My Zsh](http://ohmyz.sh/)
[Become a Command Line Power User with Oh My ZSH and Z](https://www.smashingmagazine.com/2015/07/become-command-line-power-user-oh-my-zsh-z/)

**環境**
macOS Sierra
バージョン 10.12.6

# 1. zsh インストール

macにデフォルトでインストールされてるzshを確認する

```
$ which zsh
/bin/zsh

$ /bin/zsh --version
zsh 5.2 (x86_64-apple-darwin16.0)
```

Homebrewでインストールできるzshのバージョンを確認する

```
$ brew info zsh
zsh: stable 5.3.1 (bottled), HEAD
...
```

Homebrewでzshをインストールする

```
$ brew install zsh
```

インストールされたzshのバージョンを確認する

```
$ which zsh
/usr/local/bin/zsh

$ /usr/local/bin/zsh --version
zsh 5.3.1 (x86_64-apple-darwin16.6.0)
```

zsh起動/終了

```
$ zsh
$ exit
```

# 2. oh my zsh インストール

インストール

```
$ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
```


# 3. デフォルトのログインシェルを設定

ターミナルを再起動して、ログインシェルを確認する

```
$ echo $SHELL
/bin/zsh
```

ログインシェルをbashに戻す

```
$ chsh -s /bin/bash
```

ターミナルを再起動して、ログインシェルを再確認する

```
$ echo $SHELL
/bin/bash
```

# 4. iTerm2 インストール/シェル設定

iTerm2をインストールする
[iTerm2 \- macOS Terminal Replacement](https://www.iterm2.com/)

シェルをzshに変更する
（デフォルトのログインシェルをzshにした場合は不要）

```
1. iTerm2 > Preferences > Profiles > General
2. CommandラジオボタンをONにして、「/usr/local/bin/zsh」を設定する
3. iTerm2を再起動する
```

# 5. zsh, iTerm2 テーマ設定

お好みのテーマをwikiから探す
[Themes · robbyrussell/oh\-my\-zsh Wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/themes)

▼ 以下、「Cobalt2」を設定する場合の手順となってます。
<img width="1165" alt="687474703a2f2f7765732e696f2f5562336b2f636f6e74656e74.png" src="https://qiita-image-store.s3.amazonaws.com/0/141934/b09b04ee-8caa-f0c0-729c-e94cc835dd2f.png">


公式サイト：
[wesbos/Cobalt2](https://github.com/wesbos/Cobalt2-iterm)

## powerline font

powerline font をインストールする

```
git clone https://github.com/powerline/fonts
cd fonts
./install.sh
```

iTerm2のフォントを変更する

```
1. iTerm2 > Preferences > Profiles > Text
2. Change Fontボタンをクリックする
3. Collectionで日本語を選択する
4. FamilyでD2Coding for Powerlineを選択する
```

記号が表示されることを確認する

```
$ echo "\ue0b0 \u00b1 \ue0a0 \u27a6 \u2718 \u26a1 \u2699"
```

![characters.png](https://qiita-image-store.s3.amazonaws.com/0/141934/5f1d5c63-4737-d1ca-9150-9b9699caae0b.png)

## Cobalt2
zsh-themeファイルを`~/.oh-my-zsh/themes/`に配置する

```
$ git clone https://github.com/wesbos/Cobalt2-iterm.git
$ cd Cobalt2-iterm
$ cp cobalt2.zsh-theme ~/.oh-my-zsh/themes/
```

zshのテーマを変更する

```
$ vi ~/.zshrc

ZSH_THEME="cobalt2" # デフォルト値は「robbyrussell」
```

iTerm2のテーマを変更する

```
1. iTerm2 > Preferences > Profiles > Colors
2. Change Fontボタンをクリックする
3. Color Presets..プルダウンでimport..を選択する
4. `cobalt2.zsh-theme`を選択する
5. Color Presets..プルダウンでCobalt2を選択する
```

iTerm2を再起動する

# 6. PATHの追加読み込み設定

デフォルト設定のままだと`/usr/local/bin`などにPATHが通ってない

```
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin
```

.zshrcで`export PATH=$HOME/bin:/usr/local/bin:$PATH`をコメントアウトする

```
$ vi ~/.zshrc
export PATH=$HOME/bin:/usr/local/bin:$PATH # コメントアウト
```

iTerm2を再起動して、PATHが追加されてることを確認

```
$ echo $PATH
/Users/xxx/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
```

# 7. .bash_profile読み込み設定

　.bash_profileにいくつかの設定が残ってるので、zshでも利用できるように.zshrcで.bash_profileを読み込むように設定する

```
$ vi ~/.zshrc
source ~/.bash_profile # 追記
```

**補足**
最初は.bash_profileの内容を.zprofileにコピーして利用するつもりでしたが、読み込み順の関係で※不都合が生じたため、上記の対応としました。

.bash_profileの内容を.zprofileにコピーする場合

```
cat ~/.bash_profile >> ~/.zprofile
```

zshが読み込むファイルのタイミング/順序についてはこちらの記事を参考にさせていただきました。

[とりあえずZshを使えば良いんだろう？ \- Qiita](http://qiita.com/ktr_type23/items/3eb782f98c7a5f4c60b0)

**※不都合**
(おそらく、 PATH設定/rbenv初期化 のタイミングがbashと反対になり、)rbenvのrubyではなく、macにデフォルトインストールされてるrubyが参照されるようになってしまう。