はじめに
新しいMacbookを手に入れると、毎回絶望するのがターミナルの初期状態の地味さ。
作業環境の気持ち良さは仕事の効率に直結しているので、できるだけ自分好みのデザインと使いやすさにしたいところです。
今回は自分用の備忘も兼ねて、ターミナルをちょっといい感じにするカスタマイズを紹介します。
内容としては、以下になります。
・Powerlevel10k
を使用してプロンプトを少しリッチな見た目に変更する
・エイリアスを設定して作業効率をアップする
・ヒストリの設定を使いやすいように変更する【おまけ】
Powerlevel10kはzshシェル用のテーマです
1. フォントを変更する
Powerlevel10
は、Meslo Nerd Font
を使用することを推奨しています。
そのため、こちらから、Meslo Nerd Font
を自動インストールまたは手動インストールし、ターミナル > 設定 > プロファイル からフォントを変更します。
2. Oh My Zshをインストールする
Oh My Zshのページからコマンドをコピーし、インストールします。
# curlを使ったインストール
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# wgetを使ったインストール
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
3. Powerlevel10kをインストールする
Powerlevel10
のリポジトリをcloneし、~/.zshrc
内のテーマ設定を書き換えます。
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
- ZSH_THEME="robbyrussel"
+ ZSH_THEME="powerlevel10k/powerlevel10k"
4. Powerlevel10kをカスタマイズする
zshを再起動すると以下のような設定ウィザードが開き、質問に順に答えていくと、ベースとなるデザインのプロンプトを自動でカスタマイズしてくれます。
カスタマイズの内容を変更したい際は、以下のコマンドをたたくと再度ウィザードを開いて設定し直すことができます。
p10k configure
細かいカスタマイズをしたい場合は、~/.p10k.zsh
という設定ファイルの内容を書き換えることで実現可能です。
以下の項目あたりを変えることで、基本的な色の変更ができます。
# OSの表示色に関する設定
typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=
typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=
# ディレクトリの表示色に関する設定
typeset -g POWERLEVEL9K_DIR_BACKGROUND=
typeset -g POWERLEVEL9K_DIR_FOREGROUND=
typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=
# Gitの表示色に関する設定
typeset -g POWERLEVEL9K_VCS_BACKGROUND=
設定できる色の一覧は、以下で確認できます。
for i in $(seq 0 255); do
printf "\e[48;5;${i}m%03d\e[0m " $i
if (( (i+1) % 16 == 0 )); then
echo
fi
done
その他にも変更可能な設定がたくさんあるため、より自分好みにしたい人は色々いじってみると面白いと思います。(カスタマイズの種類や方法については、Powerlevel10のREAD.me に詳しく記載されています。)
5. エイリアスを設定する
エイリアスとは:よく使うコマンドに短い名前を付けて入力を簡素化できる、ショートカットのような機能
使用例:alias gs='git status'
と設定すると、ターミナル上でgs
とだけ叩けばGitの作業状態が確認できる
# 構文
alias エイリアス名='コマンド'
# 確認コマンド
alias
# 削除コマンド
unalias エイリアス名
~/.zshrc
に設定したいエイリアスを追加し、source ~/.zshrc
で反映します。
6. ヒストリの表示・設定を変更する
ヒストリとは:過去に入力したコマンドの履歴で、history
というコマンドで履歴を表示できる。
$ history
1 echo $SHELL
2 vi ~/.zshrc
3 source ~/.zshrc
:(最新の1,000件の履歴を表示)
~/.zshrc
に設定を追加し、source ~/.zshrc
で反映します。
# ヒストリの設定
HISTSIZE=10000
SAVEHIST=10000
# エイリアスで表記等を設定
setopt extended_history
alias hi='history -t "%F %T" -50'
alias hig='history -1000|grep'
# 履歴保持の設定変更
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_reduce_blanks
-
HISTSIZE
:シェルがメモリ内で保持するコマンド履歴の最大数(zshではデフォルト1000) -
SAVEHIST
:ヒストリファイルに保存するコマンド履歴の最大数(zshではデフォルト0または1000) -
setopt extended_history
:コマンド履歴の保存形式を変更するためのオプション
$ hi
1 2024-10-07 18:35:00 echo $SHELL
2 2024-10-07 18:36:30 vi ~/.zshrc
3 2024-10-07 18:37:15 source ~/.zshrc
:(最新の50件の履歴を表示)
以上で、ターミナルで作業をする上での最低限の環境は整ったかな、という感じです。
初期状態よりはちょっといい感じになったかと思います。