Zsh の表示をカッコよくする 「Powerlevel9k」

今更ながら Powerlevel9k をインストールしたので導入方を掲載。

Powerlevel9k は Powerline フォントや背景色などを使って Zsh を装飾するテーマだ。 Zsh 素のままでも使えるが、Oh My Zsh などの Zsh フレームワークを使うことで更に便利にできる。

Oh My Zsh はコマンドプロンプトの起動を遅くするという情報もあり、最初はフレームワークなしで Zsh を設定していたのだが、どうしてもフォントの設定がうまくいかなかったので Oh My Zsh を使うことにした。

ここでは Arch Linux を使っている前提で話すが、パッケージマネージャーの取扱以外は概ね同じだと思う。

流れとしては Zsh  → Oh My Zsh → Powerlevel9k の順に導入していく。

 

Zsh のインストール


$ sudo pacman -S zsh

次に環境設定、シェルとパスが通っているか確認、通ってなかったら追加する。

$ cat /etc/shells
# Pathnames of valid login shells.
# See shells(5) for details.

/bin/sh
/bin/bash
/bin/zsh
/usr/bin/zsh
/usr/bin/git-shell

zshをデフォルト・シェルに変更する。Oh-My-ZSH をインストールする場合は自動でこれを行ってくれる。

$ chsh -s /usr/bin/zsh

オートコンプリートをインストール

# pacman -S zsh-completions

.zshrc ファイルにすべての設定が格納される。設定をいじるときはこのファイルをいじれば良い。

Oh My Zsh のインストール


Oh-My-Zsh は Zsh を便利にするフレームワーク。長年開発されているということもあり、コマンドの入力を手助けしてくれる多くのプラグインやテーマが存在する。

以下のコマンドラインを実行することにより Github からファイルを引っ張ってきて自動的にインストールが開始される。ホームディレクトリに新たに .zshrc が作られ、Zsh を標準シェルに設定してくれる。

$sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Powerlevel9k


インストール

各ディストリビューションのインストール方法は Github に載せられているので参照しよう。私見だが、Github からクローンしたほうが混乱がすくないと思う。

Install Instructions

Oh My Zshフレームワークを使う場合、.oh-my-zsh ディレクトリのテーマディレクトリに置く必要がある。

$ git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

.zshrc を編集する。デフォルトの robbyrussell から powerlevel9k に編集する。

ZSH_THEME="powerlevel9k/powerlevel9k"

フォント

Powerlevel9k ではたくさんの絵文字フォントが使えるようになる。 Powerline Font が推奨されているが、 Nerds Font が一番多くの絵文字に対応しているしているのでこちらを使うことにする。著作権的に危ういものも混じってる気がしないでもない。Arch のリポジトリ内にもフォントが入ったパッケージが存在するが、今回はなるべくシステムの負担を減らすべく、最小限のフォントだけインストールする。

下記のサイトからの /parched-fonts から好きなフォントをダウンロードしよう。

Github – Nerd Fonts

$HOME/.fonts に保存することでインストールは完了する。

フォントをインストールしたあとは .zshrc に下記を追記。

POWERLEVEL9K_MODE="nerdfont-complete"

ターミナルを立ち上げてフォントが反映されていることを確認しよう。


zshrc の設定

コマンドラインに表示されるアイコンや情報を選択設定して、自分好みにカスタマイズする。

すべて .zshrc 内に書き込む。

下記の設定だと、使っている OS のアイコンを表示、現在のディレクトリ位置、git と hg の情報を表示、右側プロンプトを無効化する設定になっている。表示したい情報を増やしたい場合は POWERLEVEL9K_LEFT_PROMPT_ELEMENTS のカッコ内に該当のセグメントを追記する。

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon dir vcs)
POWERLEVEL9K_DISABLE_RPROMPT=true

公式サイトに使えるセグメントの詳細が載っている。

Powerlevel9k – Available Prompt Segments


独自のセグメントを定義する

また Powerlevel9k では自分でセグメントを定義することができるため、以下のように自由に絵文字を表示させることができる。

POWERLEVEL9K_CUSTOM_OS_ICON="echo <絵文字>"
POWERLEVEL9K_CUSTOM_OS_ICON_BACKGROUND=069
POWERLEVEL9K_CUSTOM_OS_ICON_FOREGROUND=015

PROMPT_ELEMENTS に定義したセグメントを挿入する。

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( custom-os-icon dir vcs)

 

ー 終 ー

コメントを残す

メールアドレスが公開されることはありません。