初心者がzshをカスタムしようととしたらハマった


チェリー本でRubyを学習している初心者です。
irbでコマンドを打っていくうちに、ターミナルをカスタムしたくなりました。
そこで、zshをカスタムしようとしたら少しハマったので、備忘録として残します。

・ MacBook Pro Early 2015(Mojave 10.14.2)を使用

1.zshを入れる

zshの入れ方はもっと参考になる記事があるので、各自ググってください。
4,5ヶ月前に入れたので、失念しました。

2.画面のデザインを変更する

まず、ターミナルの白い画面を、AtomのFlatland Darkのような黒基調のデザインに変更しようと思いました。

こちらあちらのページでIcebergという良さげなテーマが紹介されているので、それを導入します。

リンクに飛んだら最下部までスクロールして、赤線のDownloadをクリック。
ダウンロードしたzipファイルを、解凍してください。

Iceberg.terminalというファイルが確認できたら、
ターミナルを起動し、command + ,で環境設定を開きます。
左のバーの下部にある歯車のマークをクリックして、先のIceberg.terminalを選択すると、Icebergを設定できます。
テーマをデフォルトにして完了です。

3.ついでにフォントも変える

せっかくなので、Ricty Diminishedというフォントに変更します。

brew tap caskroom/fonts
brew cask install font-ricty-diminished

ターミナルで↑の二つのコマンドを打てば、インストールできます。
そのまま command + ,で環境設定を開き、画面右のフォントの変更ボタンを押して選択してください。

4.Preztoを導入する

今回のメインです。私はここで2,30分ハマりました。
Preztoによって、コマンドにハイライトがついたり、
パソコンの名称が表示されなくなったり、ターミナルが使いやすくなります。

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

Preztoをgit cloneします。

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

zshのコンフィグを作成します。

zstyle ':prezto:module:prompt' theme 'sorin'

また、.zpreztorcのプロンプトをsorinから

zstyle ':prezto:module:prompt' theme 'pure'

pureに変更します。

zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'syntax-highlighting' \ # 追加
  'autosuggestions' \ # 追加
  'prompt' \

そして、サジェスト機能とハイライトを有効にします。

本来なら、ここでターミナルを再起動すれば反映して、
設定完了ですが、特に何も変化はありませんでした。

結論から言うと、
公式にも書いてある通り、あらかじめzshのコンフィグファイル(.zshrcなど)があると

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

zshのコンフィグを作成した際に、lnがエラーを引き起こすそうです。

source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"

↑のコマンドを.zshrcの最下部に記載して、無事反映されました。
私のケースは単純だったので、これで済みましたが、設定変更前にバックアップを取っておくことをお勧めします。

デザインとフォントの変更、Preztoを導入しましたが、ターミナルが見やすくなってRuby学習が捗りそうです。
初心者でも、zshカスタムはオススメです。

参考にしたページ