🐕

Oh My ZshからPreztoへの乗り換え

2023/01/23に公開約1,200字

Oh My Zshとはzshを使いやすく拡張してくれるものですが、.zshrcファイルが結構汚れてしまうのと、ブラックボックス化してしまうのが嫌だったので、Preztoに変えました。その方法を残しておきたいと思います。

結果として.zshrcファイルがすっきりしたし、あんまりOh My Zsh使いこなせてなかったのでPreztoで十分だなと思ったので変えて良かったです。

Oh My Zsh のアンインストール

$ uninstall_oh_my_zsh

上記を実行することで、Oh My Zshのインストールにより.zshrcファイルに追記された記述が削除されます。

Preztoのインストール

$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

--recursiveはサブモジュールまでcloneしてきてくれます。
git clone 第一引数 第二引数なので、第二引数でダウンロード先ディレクトリを指定してます。
${ZDOTDIR:-$HOME}の意味はZDOTDIRに値が指定されていたらその値で、されていなかったら$HOMEの値が適用されます。$HOMEが~だったら、~/.zprezto配下にダウンロードされるということです。

$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

$ setopt EXTENDED_GLOBはzshのオプション機能でワイルドカードを使ってファイル名のパターンマッチを行えるようになります。
^は否定globなのでREADME.md以外、ということになります。
(.N)はNull globで、合致するファイルがなくてもエラーを回避できます。
ln -s となっているので作るリンクはシンボリックリンクになります。${ZDOTDIR:-$HOME}/.${rcfile:t}ここが作られるシンボリックリンクになります。

.zprofileや.zshrc ファイルが既に存在する場合、エラーが出るので、これらのファイルの中身を一旦他のところに退避させてから、削除する必要があります。

再起動した時点でターミナルが変わっていると思います。
あとはテーマを好きなものに変更したりしてカスタマイズしてください!

参考

https://ohmyz.sh/
https://github.com/sorin-ionescu/prezto
https://qiita.com/kinchiki/items/57e9391128d07819c321

Discussion

ログインするとコメントできます