OS X のファイルシステムは HFS+ なんですが、こいつがファイル名を NFD で正規化した Unicode として保存しています。

これがやっかいで、zsh がファイル名を読み出すときに、NFD で正規化された状態で読み出しちゃって、濁音や半濁音を含むファイル名を表示したり補完したりする場合に、正しく動作してくれません。

zsh が読み出したファイル名を NFC で正規化してくれればいいんですが、安定版の最新バージョン 5.0.5 は未対応です。

ですが、zsh のリポジトリを見てみると、NFC で正規化されている修正が入っています。

というわけで、ファイル名を NFC で正規化してくれる部分だけリポジトリから取り出して、パッチを作ってみました。

<script src="https://gist.github.com/92cd749422fcc2475231.js"> </script>

いつも Homebrew で zsh をインストールしているので、このパッチを適用するカスタム Formula もついでに作ってみました。

brew tap で Formula リポジトリを追加すれば簡単にインストールできます。

brew tap kechako/zsh
brew install zsh-custom