Oh My ZshからPreztoへの乗り換え
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配下にダウンロードされるということです。
${parameter:-word}
デフォルトの値を使います。 parameter が設定されていないか空文字列であれば、 word を展開したものに置換されます。そうでなければ、 parameter の値に置換されます。
$ 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 ファイルが既に存在する場合、エラーが出るので、これらのファイルの中身を一旦他のところに退避させてから、削除する必要があります。
再起動した時点でターミナルが変わっていると思います。
あとはテーマを好きなものに変更したりしてカスタマイズしてください!
参考
Discussion