【この記事は旧ブログから移転したものです】
今までzshの環境構築には導入したときに何気なく入れたoh-my-zshを使っていました。しかし、最近になってなんとなく動作がもっさりしてきたので、oh-my-zshをアンインストールし、oh-my-zshに比べシンプルだというPreztoを導入してみます。
oh-my-zshのアンインストール
oh-my-zshのリポジトリのREADMEに書いてある通りにコマンドを実行します。
$ uninstall_oh_my_zsh
ターミナルを再起動すると、zshではなく標準のシェル(Macではbash)が立ち上がるようになっていると思います。
そしたら、zshの設定ファイル(~/.zshrc
など)からoh-my-zshに関する項目を削除します。
ここは人によって異なると思いますが、自分の環境だとexport ZSH=$HOME/.oh-my-zsh
とかsource $ZSH/oh-my-zsh.sh
あたりを削除しました。ここらへんしっかりやりたい人は一から設定ファイルを書いてもいいと思います。自分はめんどくさかったので使いまわしました。
Preztoのインストール
これもPreztoのリポジトリのREADMEに従ってやっていきます。
まず現在はbashあたりが起動していると思うので、zshを起動します。
$ zsh
次にPreztoのリポジトリをクローンします。
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
これでホームディレクトリの~/.zprezto
にクローンされました。
次に設定ファイルを作成するのですが、その前に既存の設定ファイルをバックアップしたい方は以下のコマンドでzsh-backup
ディレクトリにバックアップできます。自分は念のためバックアップしました。
$ mkdir zsh-backup
$ mv zshmv .zlogin .zlogout .zprofile .zshenv .zshrc zsh-backup/
そもそも存在しないファイルがある場合はエラーが出ますが当たり前なので気にしなくて大丈夫です。
そしたら、以下のコマンドで設定ファイルを作成します。
$ setopt EXTENDED_GLOB
$ for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
すると以下のようにホームディレクトリ幾つかの設定ファイルのリンクが貼られていると思います。
$ ls -al
lrwxr-xr-x 1 user staff 35 2 20 15:20 .zlogin -> /Users/user/.zprezto/runcoms/zlogin
lrwxr-xr-x 1 user staff 36 2 20 15:20 .zlogout -> /Users/user/.zprezto/runcoms/zlogout
lrwxr-xr-x 1 user staff 38 2 20 15:20 .zpreztorc -> /Users/user/.zprezto/runcoms/zpreztorc
lrwxr-xr-x 1 user staff 37 2 20 15:20 .zprofile -> /Users/user/.zprezto/runcoms/zprofile
lrwxr-xr-x 1 user staff 35 2 20 15:20 .zshenv -> /Users/user/.zprezto/runcoms/zshenv
lrwxr-xr-x 1 user staff 34 2 20 15:20 .zshrc -> /Users/user/.zprezto/runcoms/zshrc
最後にデフォルトのシェルをzshにします。
$ chsh -s /bin/zsh
これでターミナルを再起動するとテーマが適用されたzshが起動すると思います。
Preztoのアップデート
インストールしたときは最新のPreztoが導入されますが、この先のアップデートは手動で行う必要があります。 アップデートは以下のコマンドで行うことができます。
$ cd $ZPREZTODIR
$ git pull
$ git submodule update --init --recursive
追記(2018/2/20)
zshのテーマをPowerlineにしようとしたらフォントの導入でハマったので追記します。
Preztoのテーマの一覧
Preztoではprompt -p
でテーマの一覧を見ることができます。
Preztoのテーマの変更
そしてテーマを変更するときは~/.zpreztorc
に以下のように書きます。
(デフォルトの設定ファイルではすでにテーマが指定されてるのでそれを書き換える)
zstyle ':prezto:module:prompt' theme 'テーマ名'
# 例
# zstyle ':prezto:module:prompt' theme 'powerline'
その後テーマファイルを~/.zprezto/modules/prompt/functions/
に配置します。
$ curl https://raw.github.com/davidjrice/prezto_powerline/master/prompt_powerline_setup > ~/.zprezto/modules/prompt/functions/prompt_powerline_setup
しかし、上記の例のようにPowerlineのテーマを適用して、ターミナルを再起動すると、フォントがうまく表示されず画像のようになると思います。
これはPowerline用のフォントがインストール・適用されていないのが原因です。
フォントのインストール・適用
Powerline fontsをクローンなりダウンロードなりして、その中のinstall.sh
を実行してください。
これでフォントがインストールされます。
その後、ターミナルの設定のフォントをPowerline用のフォントに変更すると、Powerlineテーマが使えるようになります。 (自分はAnonymice Powerlineを選択しました)