Tech Blog

Preztoでzshのプロンプトの見た目を変更する

2020-01-23

Preztoは、zshの設定のためのフレームワークです。Preztoを利用することで簡単にターミナル環境の見た目をいい感じに変更出来ます。

前提条件

デフォルトシェルはzshである必要があります。

(2020年現在macOSのデフォルトのシェルはzshのようです)

デフォルトシェルを「zsh」であるか確認する方法は以下。

echo $SHELL
/bin/zsh

/bin/zshが帰ってくればOKです。

デフォルトシェルをzshに変更するコマンドは以下。

chsh -s /bin/zsh

インストール方法

こちらが公式の情報です。

https://github.com/sorin-ionescu/prezto

リポジトリをクローンする

ユーザーのホームディレクトリにクローンしてきます。

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

proztoの設定

以下のコマンドをターミナルで実行します。

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

いくつか設定ファイルが作成されるのですが、.zshrcなどのファイルが既に作成されていると上書きされてしまいますので、 すでに設定ファイルが有る場合は、バックアップしておき後ほど内容をマージする必要があります。

mv ~/.zshrc ~/.zshrc.backup

ただ、以下の設定を.zshrcに追加することでも対応可能とのことです。

# Preztoの読み込み
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
 

ターミナルを再起動すると、反映されます。

promptコマンドのオプションを確認する

promptコマンドが使えるようになってます。

コマンドの確認をしてみます。

prompt -h
Usage: prompt <options>
Options:
    -c              Show currently selected theme and parameters
    -l              List currently available prompt themes
    -p [<themes>]   Preview given themes (defaults to all)
    -h [<theme>]    Display help (for given theme)
    -s <theme>      Set and save theme
    <theme>         Switch to new theme immediately (changes not saved)
 
Use prompt -h <theme> for help on specific themes.

テーマ設定

テーマ一覧表示

prompt -l

テーマプレビュー

すべてのテーマをプレビューできます。

prompt -p

-pのあとにテーマ名を設定すると指定したテーマがプレビューできます。

prompt -p agnoster

テーマ変更

prompt -s skwp
Set and save not yet implemented.  Please ensure your ~/.zshrc
contains something similar to the following:
 
  autoload -Uz promptinit
  promptinit
  prompt skwp

以下の設定を.zshrcに追加する必要があるとのことなので、.zshrcの上部に追記しました。

# Preztoの読み込み
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
 
# Preztoのテーマ設定
autoload -Uz promptinit
  promptinit
  prompt cloud

Preztoの読み込みのあとにテーマ設定を行わなければ、上手くいかなかったので気を付けてください。

また、他の設定は、 .zpreztorcというファイルがあるのでコチラを編集していけば良いようです。 例えば、'git' \という行を追加するとプロンプトにgitの情報が表示されるようになります。

zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'git' \
  'completion' \
  'prompt'
prompt

おわりに

.zpreztorcの設定項目はたくさんあるので、色々カスタマイズのやりがいがありそうです。

現在僕は、cloudというテーマを設定して使っています。

より良い作業環境になるように色々カスタマイズしていきましょう!