はじめに
Bashよりも強力なシェル Zsh と、フレームワーク Oh My Zsh をインストールし、テーマ Powerlevel10k や最低限のプラグインを導入して、デフォルトのBashの数十倍使いやすくします。
環境
これは私の環境ですが他の環境でも使えるはずです。
OS: EndeavourOS Galileo Neo
Kernel: 6.7.9-arch1-1-surface
Terminal: yakuake
忙しい人用
以下の2つをコピペすればとりあえず使えるようになるはずです。
忙しくない人は 手順 を読んでください。
sudo apt install -y zsh git || sudo pacman -S --needed zsh git || sudo yum install zsh git || sudo zypper in zsh git || sudo apk add zsh git;
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)" &&
zsh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k &&
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions &&
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting &&
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc &&
sed -i 's/plugins=(git)/plugins=(\
zsh-autosuggestions\
zsh-syntax-highlighting\
)/' ~/.zshrc &&
exit
手順
ターミナルのフォントを変更
事前にターミナルのフォントを、Nerd Fontsを含むものに変更しておくことをおすすめします。
NerdFontがあるとこのようなアイコンをターミナル上で表示することができます。
私は HackGen Console NF を愛用しています。
Zshをインストール
まずはZshのインストールを行います。
後に使用するためGitも一緒にインストールします。
以下を参考に、自身の環境にあったコマンドを一つ実行してください。
sudo apt install zsh git # Debian / Ubuntu
sudo pacman -S zsh git # Arch / Manjaro
sudo yum install zsh git # RHEL / Fedora
sudo zypper in zsh git # openSUSE
sudo apk add zsh git # Alpine
Oh My Zshをインストール
Zshを起動する前に、 Oh My Zshのページ に記載されているインストールスクリプトを実行します。
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
途中でデフォルトのシェルを変更するか聞かれた場合はy
と答えます。
Powerlevel10kをインストール
デフォルトのプロンプトもシンプルで美しいですが、今回はPowerlevel10kを導入してカスタマイズできるようにします。
Powerlevel10kのREADME を参考に、リポジトリをクローンします。
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Cloning into '/home/meatwo310/.oh-my-zsh/custom/themes/powerlevel10k'...
remote: Enumerating objects: 92, done.
remote: Counting objects: 100% (92/92), done.
remote: Compressing objects: 100% (75/75), done.
remote: Total 92 (delta 18), reused 73 (delta 13), pack-reused 0
Receiving objects: 100% (92/92), 349.34 KiB | 5.21 MiB/s, done.
Resolving deltas: 100% (18/18), done.
~/.zshrc
のZSH_THEME="robbyrussel"
をZSH_THEME="powerlevel10k/powerlevel10k"
に置き換えます。
nano ~/.zshrc
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="powerlevel10k\/powerlevel10k"/'
テーマの設定ができたら、シェルを開き直して反映させます。
Powerlevel10kをカスタマイズ
再度zshを起動すると、自動で設定ウィザードが開くので、環境や好みに応じて、プロンプトをカスタマイズします。
以下に私の場合のウィザード例を載せておきますが、選択肢に応じて質問は変化するので、あくまで参考程度に。
ウィザード例 (⚠️大量の画像を含みます)
他のものを試してみましょう。上向き矢印に見えますか?
なのでy
アイコンがバツ印の間に収まっていますか?
なのでn(アイコンがいくつかバツ印に被さっています)
コマンドを送信したあとプロンプトを消すか残しておくか。私はy
を選択
完!
設定をやり直したい場合は、p10k configure
を実行することで、再度ウィザードを開くことができます。
ちなみに、.zshrc
を手動で編集することで、プロンプトに表示する内容を調整できます。
気になった方はぜひ Powerlevel10kのREADME を読んでみてください。
プラグインを導入する
最後に、プラグインを2つ導入します。
一つはzsh-syntax-highlightingで、もう一つがzsh-autosuggestionsです。
前者は入力したコマンドをリアルタイムで色付けし、後者は過去に入力したコマンド履歴を元にした補完候補を表示します。
zsh-syntax-highlighting/INSTALL.md と zsh-autosuggestions/INSTALL.md に従って、それぞれのリポジトリをクローンします。
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
~/.zshrc
のplugins
にzsh-syntax-highlighting
とzsh-autosuggestions
を追加します。
# ...
# Add wisely, as too many plugins slow down shell startup.
- plugins=(git)
+ plugins=(
+ git
+ zsh-syntax-highlighting
+ zsh-autosuggestions
+ )
source $ZSH/oh-my-zsh.sh
# ...
これにてセットアップ完了です。
お疲れ様でした。
おまけ: zsh標準の補完機能について
zshは引数の補完機能が優秀です。
例えば、cd
と打ってTab
を一回押すと、ディレクトリの一覧が表示されます。
この状態でもう一度Tab
を押すことでディレクトリがハイライトされ、Enter
で選択することができます。
また、オプションの補完機能も強力です。
例えば、ls -
と打ってTab
を押すと、引数の一覧とともに説明が表示されます。
こちらもまた、Tab
とEnter
で選択することができます。