zplugの導入 oh-my-zshのような設定にするまで。

> つい先日[シンプルにMacでのプログラミング環境構築考えてみた。](http://qiita.com/pfavill/items/d48c6fa6985b4a007834)を書いたばかりなのですが、その記事内で記載した`oh-my-zsh`を`zplug`に変更した際の内容を書いていこうと思います。
> 対象はこれから`zplug`を導入しようと考えている方、oh-my-zshから乗り換えようとしている方です。
参考になれれば嬉しいです。

[追記](https://qiita.com/Jung0/items/300f8b83520e56766f22#%E8%BF%BD%E8%A8%98)に記載しましたが、`zplug`を導入検討している方やもうすでに`zplug`を導入している方で速度を気にする方は[`zplugin`](https://github.com/zdharma/zplugin)がおすすめです。[`oh-my-zsh削除`](https://qiita.com/Jung0/items/300f8b83520e56766f22#oh-my-zsh%E5%89%8A%E9%99%A4)まで行ってから追記に記載されている[記事](https://qiita.com/Jung0/items/bec15a0285a02d5761d4)の内容を試してみてください。


# 想定環境

- `iterm2` or `terminal`

- `zsh`インストール＆設定済み

`zsh`のインストール＆設定方法は先日の私が投稿した記事の[homebrewについて](http://qiita.com/pfavill/items/d48c6fa6985b4a007834#homebrew%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)を参考に。

# はじめにやること

- oh-my-zshをインストールされている方

## .zshrcファイルのバックアップ

> `oh-my-zsh`のuninstallコマンドを打つと一応バックアップファイルみたいなものがつくられるので不要だが、心配なので一応とっておくと安心。

ホームディレクトリに移動

`$ cd`

バックアップを取る

```shell-session
$ cp .zshrc .zshrc.before
```

ファイル名はなんでもOK

## oh-my-zsh削除

公式に載っているやり方にそって行う。

```shell-session
$ uninstall_oh_my_zsh
```
と`iterm2` or `terminal`で入力し、`Enter`
`homebrew`でインストールされている方は`brew uninstall oh-my-zsh`とかやればいいのかな？
自分はhomebrewで入れていないのでその辺は調べて各自行ってください。

さて、ここまでできたら準備完了

# zplugのインストール

[zplug](https://github.com/zplug/zplug)

公式にそって行う。

```shell-session
$ curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh| zsh
```

何やっているか気になる人は[installer.zsh](https://github.com/zplug/installer/blob/master/installer.zsh)を見る。公式にもそう書いてある。

ホームディレクトリに`.zplug`フォルダが作られていることを確認する。
`$ ls -a`

さて、ここまで来たらあとは`.zshrc`にバックアップからカキカキして、プラグインをインストールしていくだけなのでいい感じのプラグインを探そう！！
その際は公式に書いてある[Tag for Zplug](https://github.com/zplug/zplug#3-tags-for-zplug)をよく見て選んだほうがインストール時のエラーを回避できるかも。

## 個人的な注意点

### 使うものだけ入れよう！

`zplug`は様々なプラグインをインストールできてしまう優れもの。といってもなんでも感でもまとめて入れてしまっては本末転倒になってしまう。
◯　→　oh-my-zshの気に入っているthemeを指定
☓　→　oh-my-zshそのものを指定

よく`prezto`を`zplug`で、まんまインストールする記事を見るが、それをやってしまうとitermの立ち上げスピードが極端に落ちてしまう可能性がある。

**使うものだけをインストールするように心がけよう！！**

### 自分が入れたもの

自分は.zshrcに以下のものを追記した。

```shell
# zplug
source ~/.zplug/init.zsh
zplug 'zplug/zplug', hook-build:'zplug --self-manage'
# theme (https://github.com/sindresorhus/pure#zplug)　好みのスキーマをいれてくだされ。
zplug "mafredri/zsh-async"
zplug "sindresorhus/pure"
# 構文のハイライト(https://github.com/zsh-users/zsh-syntax-highlighting)
zplug "zsh-users/zsh-syntax-highlighting"
# history関係
zplug "zsh-users/zsh-history-substring-search"
# タイプ補完
zplug "zsh-users/zsh-autosuggestions"
zplug "zsh-users/zsh-completions"
zplug "chrissicool/zsh-256color"
# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
  printf "Install? [y/N]: "
  if read -q; then
    echo; zplug install
  fi
fi
# Then, source plugins and add commands to $PATH
zplug load
```

zplug関連は以上！！

.zshrcにカキカキしたら

1. `$ source .zshrc`←多分プラグインがないとかで怒られる。
1. `$ zplug install`でプラグインをインストール！

からの〜
`$ source .zshrc`

多分これでthemeなどの変更がかかったと思う。

足りないと思うプラグインがあれば、`zplug load`の前に追記していく。

#### 足りないものは書いてしまえ！！！

まぁ上の手順だけだとoh-my-zshのほうがまだ良かったという人もいるので、ここからはマニュアル調整
この辺はWEB調べながら書くしかない。自分も自信ない。

```shell
HISTFILE=$HOME/.zsh_history
HISTSIZE=10000
SAVEHIST=10000

alias ls="ls -G"
alias la="ls -a"
alias ll="ls -lh"
```

これであらかた完了なのではなかろうか。

## 追記
約1年、`zplug`を使い続けていましたが、`zsh`の起動速度が気になり`zplugin`へ移行しました。
移行した理由を含めて以下の記事にまとめましたので参考にしてみてください。
[zplugやめてzpluginにしたらちょっと速くなったよって話](https://qiita.com/Jung0/items/bec15a0285a02d5761d4)