Open5

preztoからstarship + zinit に乗り換え

mitk232mitk232

preztoの削除

参考

https://zenn.dev/chouxcreams/scraps/35e0415a55b1c7
https://gallard316.hatenablog.com/entry/2020/11/24/185634

preztoを導入していると、zsh周りの設定ファイルは~/.zprezto以下にある。.zshrc.zshenvなどはhome直下にあるように見えるが、~/.zprezto/runcoms以下の各ファイルへのシンボリックリンクが張られているだけ
starship, zinitを導入するにあたってはそれらを削除する

zsh関連ファイルについて

preztoにより作成されていたzsh周りの設定ファイルは以下の通り

  • zshrc
  • zshenv
  • zprofile
  • zlogin
  • zlogout

この記事によると基本いじるのは.zshrcだけで良さそう

理由メモ

shellを使うタイミングは3パターン

  1. ログインシェル
    • 普段ターミナルを立ち上げる時に使っている
  2. インタラクティブシェル
    • ターミナルを立ち上げたあと、コマンドラインでbashとかzshとか打って立ち上がるやつ
    • ログイン自体はしていない
  3. シェルスクリプト
    • ファイルにシェルスクリプトを書いて実行するときにshebangで指定されてるshellが使われるときのイメージかな
    • 違かったら教えてください

.zshrcで設定した内容(pathの設定やいろんなソフトウェアの初期化など)は1,2のタイミングで読み込まれる。対して例えば.zprofileは1でのみ読み込まれるという違いがある。
他のファイルも同様にして、微妙に違いがあるが、.zshenv.zloginはその影響範囲や他のファイルとの役割の混同などで紛らわしいため、基本.zshrcで事足りる。

byebye prezto

一応バックアップを取っておく

cd ~
mkdir .zsh_backup
cp -r ~/.zprezto/* ~/.zsh_backup

そのあとzprezto周りの全削除

rm -rf ~/.zprezto ~/.zlogin ~/.zlogout ~/.zpreztorc ~/.zprofile ~/.zshenv ~/.zshrc

必要な設定ファイルだけ残しておく

zshrcは前からpathの設定などを書いていたから復活させる

cp ~/zsh_backup/runcoms/.zshrc ~/.zshrc
mitk232mitk232

zinitの導入

https://github.com/zdharma/zinit

install手順など上に従う

参考

https://zenn.dev/chouxcreams/scraps/35e0415a55b1c7
https://qiita.com/crossroad0201/items/17270127732dc20fa8b2

install

sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zinit/master/doc/install.sh)"

このコマンドで~/.zinit/binが生成され、~/.zshrcも更新される。

source ~/.zshrc
zinit self-update

~/.zshrcファイルのコマンドを実行し直す。zinitのupdateもする。

plugin

基本的なのを入れただけ

# ~/.zshrc
zinit light zsh-users/zsh-autosuggestions # suggestion
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=250" # suggestionの色変更
zinit light zdharma/fast-syntax-highlighting # シンタックスハイライト
zinit light zdharma/history-search-multi-word # ctrl+r でコマンド履歴を検索

suggestionの色が見づらかったからちょっと変更している。(参考

mitk232mitk232

starshipの導入

https://starship.rs/ja-JP/guide/#🚀-インストール

上のガイドに従う

参考

https://zenn.dev/ryuu/articles/customize-your-terminal

install

brew install starship

initialize

# ~/.zshrc
eval "$(starship init zsh)"

configuration

https://starship.rs/ja-JP/config/#プロンプト

~/.config/starship.tomlファイルを用意

mkdir -p ~/.config && touch ~/.config/starship.toml

この記事を参考に、改行や文字、conda環境の表示をしてくれるよう設定

# ~/.config/starship.toml

# シェルプロンプトの間に空行を挿入します。
add_newline = true

# ファイルをスキャンする際のタイムアウト時間
scan_timeout = 10

# 記号の設定
[character]
success_symbol = "[▶](bold green)" # コマンド成功時
error_symbol = "[▶](bold red)"    # コマンド失敗時

# conda環境の表示
[conda]
format = "[$symbol$environment](dimmed green) "
ignore_base = false  # base環境も表示させたい

なお、conda自身のプロンプト修飾子が邪魔になる(プロンプトの前に白文字で(base)って出る)場合は、conda config --set changeps1 Falseで抑制が必要