【zsh】ターミナルをかわいくしたい！【powerlevel10k】

# はじめに

**ターミナルをかわいくして開発モチベをぶちあげたい！！！**

ということで、zshのテーマを自分なりに整えてみたので紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/7b70b340-81a6-dda3-75ef-ad92a811c0cc.png)

# 環境
WSL2 (ubuntu)

ここではzshのインストールは済んでいるものとして、話を進めます。
また、私の場合はWSL2ですが、他の環境でも導入可能です。

# 手順
1. zinitのインストール
2. powerlevel10kのインストール
3. 色変更などでさらにカスタマイズ

# 1. zinitのインストール
自分はプラグインマネージャにzinitをインストールしたのですが、その直後にzinitのオリジナルの作者さんがレポジトリを消去してしまいました...つらい...

https://qiita.com/taiyodayo/items/c1ebdc863e6baa18ea06

ここでは、有志の方がフォークしてくれているレポジトリを使ってzinitのインストールを行います。

https://github.com/zdharma-continuum/zinit

[公式](https://github.com/zdharma-continuum/zinit#automatic-installation-recommended)に書かれているようにインストールします

```sh
sh -c "$(curl -fsSL https://git.io/zinit-install)"
```
zshrcを再読み込み

```sh
source ~/.zshrc
zinit self-update
```

ここではzinitを使いましたが、突然消えるなど不安定なところがあるので、Oh My ZshやPreztoなど、お好きなものを使うのがいいと思います。次に説明する見た目を作るpowerlevel10kは、zinitでなくても問題なくインストールが可能です。

https://github.com/ohmyzsh/ohmyzsh

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

# 2. powerlevel10kのインストール
powerlevel10kはzshのテーマであり、OSやGitなどのアイコンを表示させることができます。さらに、案内に従うことで簡単に自分の好きなように表示をカスタマイズすることができます。

https://github.com/romkatv/powerlevel10k

## フォント
powerlevel10kでアイコンを表示させたい場合、公式が出しているフォントのダウンロードが必須です。
[こちら](https://github.com/romkatv/powerlevel10k#fonts)からttfファイルをダウンロードしてください。

以下はWSLの場合です。

1. ダウンロードしたttfファイルを開き、「インストール」をクリック
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/6252abf1-22d3-65e0-1ab5-20f7886fa3c3.png)

2. ubuntuを開き、ウィンドウの上の方を右クリック⇒「プロパティ」を開く
3. フォントを**「MesloLGS NF」**に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/24406223-8ac1-1b43-48a9-8589a346aea5.png)

## powerlevel10k
powerlevel10k本体を[公式のREADME](https://github.com/romkatv/powerlevel10k#zinit)に従ってインストールします。こちらはzinitの場合ですが、ご自身のプラグインマネージャのものを参照してインストールしてください。

```sh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
```

シェルを再起動します。

```sh
exec zsh
```

コマンド実行後、設定画面に移ります。

- アイコンが正常に表示されているかの確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/e2caa4c5-4d88-4376-21d6-35d0e3eeea05.png)

- 表示設定の選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/23c03fdb-f248-96c6-6016-820fe4eedde8.png)

このような選択肢がたくさん出てくるので、自分の好きなものを選んでいくと、好みのテーマが出来上がります。

選択肢の詳細については[公式のREADME](https://github.com/romkatv/powerlevel10k#features)にあるので、よく分からないものがあったら確認しました。

また、この設定をやり直したい場合は、以下のコマンドで再度設定画面を表示させることができます。

```sh
p10k configure
```


# とりあえず完成！
すでにかわいい！ですが、もう少し色を工夫してみます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/4b6892e2-bdd2-fd23-1e5f-04d767480c22.png)

# 色を変える
色の変え方については、[こちら](https://github.com/romkatv/powerlevel10k#how-do-i-change-prompt-colors)に記載があります。
色を変更には、作成されている `~/.p10k.zsh` というファイルの書き換えを行います。
例えば、`.p10k.zsh` の中に以下のような記述があります。

```
typeset -g POWERLEVEL9K_DIR_BACKGROUND=4
typeset -g POWERLEVEL9K_DIR_FOREGROUND=254
```
こちらはカレントディレクトリの場合ですが、他にもOS表示部分などそれぞれの部分の背景色と文字・アイコン色が数字で指定されています。

色は256色から数字で指定する形で、256の色と番号の対応は以下のコマンドで表示することができます。

```sh
for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
```


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/dfaa10a3-db6b-d0ee-7945-0c0d81cc20d4.png)

https://www.ditig.com/256-colors-cheat-sheet

私はこれらの表とにらめっこしながら、いい感じになりそうな色の組み合わせを探っていきました。

色を書き換えたら以下のコマンドで再読み込みすると反映されます。

```
source ~/.p10k.zsh
```

# 完成！！！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/631855/7b70b340-81a6-dda3-75ef-ad92a811c0cc.png)

自分で決めていくのは少し大変でしたが、唯一無二の超きゅーとなターミナルを作れてハッピーです！

# さいごに
お読みいただきありがとうございました！初Qiita投稿で初アドベントカレンダーでした。
何かご指摘ありましたらお気軽にコメントをお願いします！！

# 参考
https://qiita.com/obake_fe/items/c2edf65de684f026c59c