Powerlevel9k は Powerline フォントや背景色などを使って Zsh を装飾するテーマだ。 Zsh 素のままでも使えるが、Oh My Zsh などの Zsh フレームワークを使うことで更に便利にできる。
Oh My Zsh はコマンドプロンプトの起動を遅くするという情報もあり、最初はフレームワークなしで Zsh を設定していたのだがどうしてもフォントの設定がうまくいかなかったので Oh My Zsh を使うことにした。
ここでは Arch Linux を使っている前提で話すが、パッケージマネージャーの取扱以外は概ね同じだと思う。
流れとしては Zsh → Oh My Zsh → Powerlevel9k の順に導入していく。
Zsh のインストール
ほとんどのLinuxディストリビューションのリポジトリには Zsh が含まれているためパッケージの更新とインストールは簡単に行える。
Debian系の場合
$ sudo apt-get install zsh
Pacman パッケージマネージャの場合
$ sudo pacman -S zsh
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
オートコンプリートをインストール
オートコンプリートをインストールすると Tab で自動入力や候補を表示してくれる。
$ sudo 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 からクローンしたほうが混乱がすくないと思う。
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
から好きなフォントをダウンロードしよう。
$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)
― 終 ―
コメント