概要
見聞きした様々な Tips を継ぎ足していった結果、
フランケンシュタイン状態になってしまった .zshrc を整理したいと思い立ち、
Zsh の設定フレームワークを利用してみることにしました。
oh-my-zsh がよく利用されている様子ですが、
Prezto という、よりコンパクトなものが紹介されていましたのでこちらを導入してみます。
また、導入の際は Zsh のプラグインマネージャ Antigen を利用します。
将来的に、 Prezto の機能を他のプラグイン導入で補う、ということもできそうです。
導入
事前に Zsh をインストールし、ログインシェルとして設定しておきます。
Mac で Homebrew を導入している場合は、以下の通りです。
brew install zsh
sudo vi /etc/shells
+ /usr/local/bin/zsh
chsh -s /usr/local/bin/zsh
また、古い .zshrc などがある場合は退避しておきます。
# Antigen を導入
git clone https://github.com/zsh-users/antigen.git /path/to/antigen
source /path/to/antigen/antigen.zsh
# Antigen から Prezto を導入
antigen bundle sorin-ionescu/prezto
# Prezto から参照させるため、シンボリックリンクを設置
ln -s ~/.antigen/repos/.zprezto ~/.zprezto
# Prezto の Zsh 設定ファイルへのシンボリックリンクを設置
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
# Antigen を読み込むように設定
vi ~/.zshrc
# Customize to your needs...
+ source /path/to/antigen/antigen.zsh
+
+ antigen bundle sorin-ionescu/prezto
再度コンソールを立ち上げると、 Prezto の設定が有効になっているはずです。
テーマ・プラグイン
prompt -p
で、各種テーマをレビューできます。
お好みですが、 paradox を設定してみます。
paradox テーマを利用するには、 powerline 対応のフォント導入が必要です。
今回は Ricty を利用しました。
brew tap sanemat/font
brew reinstall --powerline --vim-powerline ricty
# 導入時は 3.2.4 でした
cp -f /usr/local/Cellar/ricty/3.2.4/share/fonts/Ricty*.ttf ~/Library/Fonts/
fc-cache -vf
テーマ・プラグインの設定は .zpreztorc
で行います。
vi ~/.zpreztorc
- zstyle ':prezto:module:prompt' theme 'sorin'
+ zstyle ':prezto:module:prompt' theme 'paradox'
また、 Prezto の git プラグインを入れておくと、
Git リポジトリの状態を表示してくれます。
vi ~/.zpreztorc
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
+ 'git' \
'prompt'
他の Prezto のモジュールに関しては、リポジトリのmodulesを見て確認します。
自分の場合は、以下のようにモジュールを追加しました。
zstyle ':prezto:load' pmodule \
'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
'git' \
+ 'homebrew' \
+ 'osx' \
+ 'rails' \
+ 'syntax-highlighting' \
+ 'history-substring-search' \
'prompt'