Zsh + Prezto で快適コマンド環境を構築する

ツール
306件のシェア(そこそこ話題の記事)

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Prezto

今回はコマンドライン環境の話です。私は以前より oh-my-zsh を利用していましたが、テーマの調子が悪かったので Prezto に乗り換えてみました。結構快適だったので、いまは Prezto を使っています。

本稿では Zsh + Prezto で快適なコマンドライン環境を構築する方法について簡単ですがご紹介します。

Zsh + Prezto 環境を構築する

環境構築の手順については README に書いてありますので、手順通り進めれば問題なく環境づくりができると思います。なお、コマンド実行すると .zlogin .zlogout .zprofile .zshenv .zshrc のシンボリックリンクを貼るので、oh-my-zsh から乗り換える場合など、既存の Zsh 環境を引き継ぎたい場合は各設定ファイルを退避させておきましょう。

// Zsh起動
$ zsh

// リポジトリをclone
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

// 既存の設定ファイルを退避(必要な場合)
$ mkdir zsh_orig && mv zshmv .zlogin .zlogout .zprofile .zshenv .zshrc zsh_orig

// 設定ファイルを作成
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

// Shellのデフォルトに設定
$ chsh -s /bin/zsh

これで Zsh を再起動すると Prezto が適用されると思います。

prezto01

なお、アップデートするには次のコマンドを実行します。

$ git pull && git submodule update --init --recursive

テーマを変更する

oh-my-zsh 同様、おしゃれなテーマが利用できます。Prezto の良い所はテーマのプレビューができるところです。プレビューで表示しながらお気に入りのテーマを探すことができます。

// テーマ一覧
$ prompt -l

// テーマをプレビュー
$ prompt -p <テーマ名>

// すべてのテーマをプレビュー
$ prompt -p

// テーマを適用(再起動したら戻る)
$ prompt <テーマ名>

すべてのテーマのプレビューを表示すると下図のようになります。

prezto02

設定は .zpreztorc に書きます。

zstyle ':prezto:module:prompt' theme 'steeef'

これで次の起動後からも設定したテーマが適用されます。

また個人的に powerline が好きなのですが、Prezto で利用するには、テーマファイル~/.zprezto/modules/prompt/functions に配置します。

curl https://raw.github.com/davidjrice/prezto_powerline/master/prompt_powerline_setup > ~/.zsh.prompts/prompt_powerline_setup

あとは前述したとおり .zpreztorc のテーマを上書きして終わりです。こんな感じです。

prezto03

まとめ

Oh-my-zsh と比較すると、プラグイン・テーマともに少ないですが軽量なので起動が速いです。個人的には Oh-my-zsh の機能を持て余していた感があったので、Prezto のほうが自分の開発スタイルに合っているかなぁ、と思っています。Prezto のプラグインはまだあまり使えていないので、これから試していきたいと思います。

Zsh 環境を見直したいと考え中のかたは、試しに導入してみてはいかがでしょうか。

参考

AWS Cloud Roadshow 2017 福岡