Macのターミナル設定「Starship」導入
Macのセットアップの際に、ターミナルが初期設定のままでは味気ないので、設定を変更したので備忘録として残しておく。
ターミナルではなく、iTerm2を使う選択肢もあったが、コーディングの際にはVSCodeを使って、VSCode内のTerminalを開いて使うことが多く、ターミナルで十分と判断した。
bash or zsh?
MacOS X 「Catalina」から標準のシェルが「zsh」に変更された。
そのため、「Catalina」以上にアップデートしてbashのままで使っていると、以下のメッセージが表示されていた。
The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050.
zshはbashよりも圧倒的にカスタマイズができる点とプラグインの豊富さがメリットであるが、使いこなせないので、Linuxと同様のbashのままで使うようにしている。
そのため、デフォルトをbashに変更。
chsh -s /bin/bash
bashの設定ファイル
bashには以下の3つの設定ファイルがある。
- .profile
- General setups for login
- ログイン設定
- .bash_profile
- .shrc
- bash-specific setups for interactive shell
- 対話シェル設定
- 関数やaliasを記載
- .bashrc
そのため、.bash_profile
には以下の設定を書き込んでおく。
# .bash_profile # Get general setups if [ -f ~/.profile ]; then . ~/.profile fi # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi
テーマを「iceberg」に変更
配色が淡い感じになって好きなので、「iceberg」を使っている。
Iceberg - dark blue color scheme for Vim / Neovim
設定方法
- 上記のページの一番下にある「Download」ボタンからファイルをダウンロードする
- Macのターミナルの「環境設定」を開く
- 「プロファイル」のタブを選択する
- 左下のメニューから「読み込む...」を選択し、ダウンロードしたファイルを読み込ませる
- 「Iceberg」のテーマが表示されるので、選択して「デフォルト」ボタンを押す
以上でテーマの設定が完了。
プロンプトを「Starship」に変更
プロンプトは「Starship」を使うことにした。
- アイコンが可愛いw
- 互換性優先でどのOSでも使用可能
- Rust製で高速&信頼性が高い
- 自由にカスタマイズ可能
インストール
brewで簡単にインストール可能。
brew install starship
初期設定
bashで使えるように、設定情報を書き込む。
echo 'eval "$(starship init bash)"' >> ~/.bashrc source ~/.bashrc
NerdFontフォントのインストール
macOS (OS X) では Homebrew Cask Fonts を通じて全てのフォントが利用できる。
Nerd Fontの中でも、公式の例として使われていたのは「FiraCode Nerd Font」であった。その他では、「Hack Nerd Font」が有名のようであったので、Hackの方を採用した。
brew tap homebrew/cask-fonts brew install --cask font-hack-nerd-font # or # brew install --cask font-fira-code-nerd-font
インストール後、ターミナルの環境設定 > プロファイル から、フォントを「Hack Regular Nerd Font Complete 11(Hack Nerd Font)」に変更して、設定完了である。
カスタマイズ
mkdir -p ~/.config && touch ~/.config/starship.toml
上記で設定ファイルを作成し、少しカスタマイズをしてみた。
add_newline = true [character] success_symbol = "[>](bold green)" error_symbol = "[✗](bold red)" [username] style_user = "white bold" style_root = "black bold" format = "user: [$user]($style) " disabled = false show_always = true [directory] truncation_length = 10 truncate_to_repo = false [memory_usage] disabled = false threshold = -1 style = "bold dimmed green" format = "via [${ram_pct} / ${swap_pct}]($style) " [package] disabled = true [time] disabled = false format = '[\[ $time \]]($style) '
まとめ
ターミナルがカラフルになり、断然見やすくなりました!
使い勝手を確認しながら、引き続きカスタマイズしていきたい。