Zsh には様々な機能を追加するプラグインだけでなく、瞬時にコマンドラインの見た目を変えてくれるテーマという設定ファイル群がたくさん公開・共有されています。そんな中でも「Powerlevel10k」 という処理速度と柔軟性に重点を置いて開発されている有名なテーマがあります。今回はこの Powerlevel10k の導入と設定をご紹介。
前回投稿した「Powerlevel9k」がサポート外および非推奨となりました。さらに「Powerlevel10k」のほうが高速だという情報を目にしたので遅ればせながら移行しました。ここでは Linux システムへ導入しますが macOS や WSL への導入にも応用できます。
導入方法は公式の英語 GitHub を読んだほうが確実なので英語を読解できる人はそちらを見ることをおすすめします。
GItHub – https://github.com/romkatv/powerlevel10k
1. 推奨フォントのインストール
まずは推奨されているフォント「Meslo Nerd Font patched for Powerlevel10k」のインストールします。これが導入されていないと特殊なアイコンが豆腐になってしまいます。
公式ではフォントマネージャを起動してインストールする手順が紹介されていますが、個人的には .fonts
での管理のほうが楽だと思うので ~/.fonts
フォルダを作成してフォントを放り込みます。
$ mkdir ~/.fonts
$ mv MesloLGS*.ttf ~/.fonts
Arch Linux をお使いの場合は公式リポジトリに「ttf-meslo-nerd」パッケージが用意されています。
2. プラグイン・マネージャをインストールする(任意)
Zsh のプラグイン・マネージャは様々な機能を追加してくれるフレームワークです。なくても Zsh に直接カスタムテーマを読ませることができますし、ない方が良いと言う人もいますがあると何かと便利です。
しかし非力なシステムでは描写速度に影響を与えることもあるのでケースバイケースで選びましょう。
Oh-My-Zsh の場合
多くのサイトではプラグインの最適化処理を行い高速な画面描画をする Prezto というプラグイン・マネージャをインストールして紹介していますが、筆者はあえて汎用性が高い Oh-My-ZSH をインストールすることにしました。後々にあれやこれが足りないという問題を避けるためです。
両方共導入は簡単なので Oh-My-Zsh が遅いと感じたら Prezto に乗り換えましょう。
ⅰ. まず Zsh を立ち上げます。
$ zsh
ⅱ. GitHub からクローンし実行するインストールスクリプトを実行します。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
インストールが完了したら早速 oh-my-zsh が立ち上がり、既存の .zshrc
のバックアップとデフォルトシェルの変更を行ってくれます。
Prezto の場合
Prezto の導入方法も記載しておきます。
ⅰ. zsh 起動
$ zsh
Z Shell を起動すると設定ウィザードが起動しますが、 Prezto に設定させたいので q で設定を終了させます。
ⅱ. Prezto ダウンロード
以下のコマンドを実行し、Prezto をダウンロードします。
$ 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
.zlogin .zlogout .zpreztorc .zprofile .zshenv .zshrc
というリンクファイルがホームディレクトリに作られます。本ファイルは ~/.zprezto/runcoms
内にあります。
Z Shell をデフォルトに設定します。
$ chsh -s /bin/zsh
Prezto 公式ホームページ:GitHub – sorin-ionescu / prezto
3. Powerlevel10K のインストール
プラグインマネージャなし
プラグインマネージャがない方が動作が高速のなので導入したくない人も多いと思います。この場合はZshに直接テーマを読ませることもできます。
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
$ echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Oh-My-Zsh の場合
先程インストールしたプラグイン・マネージャ(Oh-My-Zsh)に Powerlevel10k テーマをインストールします。
i. Powerlevel10K をダウンロード
Arch Linux のリポジトリにパッケージが用意されているが GitHub から引っ張ってきます。以下のコマンドを実行すると ~/.oh-my-zsh/custom/themes/
内に Powerlevel10k テーマがクローンされます。
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Preztoを使いたい場合は .oh-my-zsh
のところを .zprezto
に書き換えます。
ii. Zsh の設定
つぎに~/.zshrc
内の ZSH_THEME="robbyrussell"
をコメントアウトし、ZSH_THEME="powerlevel10k/powerlevel10k"
を追記する。
ⅲ. 再起動
ターミナルを再起動しZshが起動すると設定ウィザードが表示されるので質問に答えて進めていきます。
Prezto の場合
.zpreztorc
の [zstyle ':prezto:module:prompt' theme 'sorin']
という行を以下のように編集します。
zstyle :prezto:module:prompt theme powerlevel10k
4. Powerlevel10k テーマのカスタマイズ
ターミナルを再起動するとすぐに設定ウィザードが表示される。表示されない場合は p10k configure
を実行。ここから自分の好みの表示を選んでゆく。
$ p10k configure
最後に設定を保存すると ~/.p10k.zsh
に設定が格納されます。
Powerlevel9k と比べ特に高速化したという実感がないが設定ウィザードがものすごく便利です。
Photo by Paolo Chiabrando on Unsplash
おわり
コメント