2016年4月29日金曜日

zsh導入記録

zshを使うようにしてみたので、ログインシェルへの設定など
導入した際の記録です。


Macのzsh導入

# zshのインストール
brew install zsh

#  /etc/shellsに "/usr/local/bin/zsh" を追記する
sudo vim /etc/shells

# chshでzshに変更
chsh -s /usr/local/bin/zsh

Cygwinのzsh導入


zshのインストール
apt-cyg install zsh

/etc/passwdファイル自体がない場合はmkpasswdで生成する
社内ネットワーク環境などでは大量のユーザーが出力されるみたいなので、-l -c オプションでローカルユーザーに限定しているみたい。
mkpasswdのオプションに関してはこちらを参照(http://d.hatena.ne.jp/i_k_b/20150514/1431590062)
mkpasswd -l -c > /etc/passwd

/etc/passwdのログインシェルを編集
:/home/(ユーザー名):/usr/bin/zsh

※環境変数のSHELL設定や、Cygwin.batのbashをzshにするなどの必要はないようです。

zgenの導入


zshのプラグイン管理ツール、プラグイン管理が楽になるので入れておいた方が良さげ。
oh-my-zsh、Antigen、Prezto、zgen、zplugなどがあるが、zgenとzplugが比較的最近のやつで、速くなっているそうだ。
zplugの方が色々と高機能っぽいが、設定が比較的ラクそうだったので今回はzgenで管理していこうと思います。

zgenをクローン
cd ~
git clone https://github.com/tarjoilija/zgen.git .zgen

.zshrcを用意する
# load zgen
source "${HOME}/.zgen/zgen.zsh"

# if the init scipt doesn't exist
if ! zgen saved; then
    echo "Creating a zgen save"

    zgen oh-my-zsh

    # plugins
    zgen oh-my-zsh plugins/git
    zgen oh-my-zsh plugins/sudo
    zgen oh-my-zsh plugins/command-not-found
    zgen load zsh-users/zsh-syntax-highlighting
    zgen load /path/to/super-secret-private-plugin

    # bulk load
    zgen loadall <<EOPLUGINS
zsh-users/zsh-history-substring-search
/path/to/local/plugin
EOPLUGINS
    # ^ can't indent this EOPLUGINS

    # completions
    zgen load zsh-users/zsh-completions src

    # theme
    zgen oh-my-zsh themes/arrow

    # save all to init script
    zgen save
fi



gitリポジトリの状況取得に時間がかかる場合、下記のgit config設定でリポジトリ状況を取得しなくできます。
超重たいgitリポジトリの場合は無効にしておいたほうがストレスないです。
git config --add oh-my-zsh.hide-status 1

プラグインの読み込み設定を変更したら、いったんリセットしましょう。
zgen reset

0 件のコメント:

コメントを投稿