初心者向け!zshの導入からpreztoとpowerlevel10kの設定


最近オンラインで共同開発を初めてする中でチームメンバーが使っていたターミナル画面がカッコ良かったので、真似しようと思いやって見ました。基礎知識がなさすぎて時間がかかってしまったため、この記事ではくどいかもしれませんが、非エンジニア向けに書いた記事です。
なお、記事の内容はmacでiTerm2を使用しています。

zshのインストール

zshをインストール

 $ brew install zsh

/etc/shellsにzshのパスを追記します。

その後パスワードを聞かれるのでパスワードを入力します。

$ sudo vi /etc/shells

vimで/usr/local/bin/zshを追加

vimが起動するので以下の表示があることを確認してください。

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

最後の行に以下の文字列を追加します。
iを押す。insertモードになるため、文字入力が可能になります。
/usr/local/bin/zshを最終行にコピペ。
escを押すとinsertモードが解除されるため、:wqで保存して終了。
このようになっていればOK。

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh 

ログインシェルを変更

$ chsh -s /usr/local/bin/zsh
Changing shell for test_user.
Password for test_user:

新しいターミナルのタブを開くと以下のようなメッセージが聞かれます。
内容は今までbashを利用していたので、以下のコマンドで~/.bash_profileをコピーして、~/.zshrcを作成しました。みたいな感じです。OKのためEnterで抜けます。
次回からは先ほど表示されたメッセージは出なくなります。

This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~).  This function can help you with a few settings that should
make your use of the shell easier.

You can:

(q)  Quit and do nothing.  The function will be run again next time.

(0)  Exit, creating the file ~/.zshrc containing just a comment.
     That will prevent this function being run again.

(1)  Continue to the main menu.

--- Type one of the keys in parentheses ---

zshが適用できたか確認

Homebrewでインストールしたzshが使われているか確認します。

% TEST-USER% echo $SHELL
/usr/local/bin/zsh

以下のような表示になればzshのインストールは完了です。

preztoをインストール

preztoとはzshの拡張機能パックです。
せっかくなので見た目にも変化をつけましょう!
以下のコマンドを実行します。

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

設定ファイルを作成

preztoを設定するために以下のコマンドを実行します。

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

preztoの設定ができたのか確認

こんな感じになっていればOK!

powerlevel10k をセットアップする

preztoの表示カスタマイズ一覧を表示
preztoのかすタイズテーマの一覧が表示できます。
今回はpowerlevel10kをインストールするので確認する必要は不要ですが、他のメニューも見れるため、使い慣れてからみるとようかもしれません。

prompt -l

powerlevel10kに設定

prompt -s powerlevel10k

yesのrecommendedを選択

Meslo Nerd Fontをインストールしますかと言うことですが、おすすめのフォントらしいのでとりあえずyを選択

yでiTerm2を再起動

続行するまえにiTerm2を再起動するか聞かれるのでyを選択します。

powerlevel10kをpreztoに適用させる。

% cd .
% vim ~/.zpreztorc

zstyle ':prezto:module:prompt' theme 'sorin'という基準があるため、その場所まで移動する。
結構下の方にあるから最初見つけられなかった。
insertモードにしzstyle ':prezto:module:prompt' theme 'sorin'をコメントアウト(#をつける。)
以下の術をコピペ
escでinsertモードを解除し、:wqで保存して終了。

zstyle ':prezto:module:prompt' theme 'powerlevel10k'

完成系はこれ↓

質問に答え自分のテーマを決めていく。

一つ目は「このダイヤは見えるか?」という物だがこんなような質問がいくつかあった後に自分のテーマがどれが良いか4択くらいで聞かれるので、答えていくだけ。
rで戻ることもできるので試行錯誤してみよう!

筆者の最終的なターミナル画面

デザインは使っていく中で変更して行こうと思いますがとりあえずこんな感じで変更できました。

参考記事

以下の記事を参考にさせていただきましたありがとうございます