macの(HFS+の)日本語ファイル名はNFD正規化された形で保存されているので、たとえば「ほげ」って言うファイルがあるところで、「ほ」と入力してTABを押して補完すると、
ずっと、なんとかならないのかな〜と思っていたのだけれど、mac の zsh で日本語の濁点・半濁点付き仮名を正常に補完できる様にする : アシアルブログと言うページを発見。zshのパッチを公開されている。
ここには、ソースから入れる方法と、Homebrewを使った場合の方法が書いてある。
会社マシンはHomebrewを使っているので、一発でinstallできて無事に動いた(brew tapってのを初めて知ったんだけど、個人が独自の Formula を公開するのに素晴らしい仕組みだね)。
しかし、自宅マシンでは MacPorts を使っているので、MacPorts の zsh の Portsfile をちょこちょこっといじって上記パッチを取り込むことにする。
昔 unzip の自家 Ports を作った時のファイルを参考に、適当にやったらなんとかうまく行ったようだ。
以下、覚え書き。
% echo ほけ<3099>
のように表示される。ずっと、なんとかならないのかな〜と思っていたのだけれど、mac の zsh で日本語の濁点・半濁点付き仮名を正常に補完できる様にする : アシアルブログと言うページを発見。zshのパッチを公開されている。
ここには、ソースから入れる方法と、Homebrewを使った場合の方法が書いてある。
会社マシンはHomebrewを使っているので、一発でinstallできて無事に動いた(brew tapってのを初めて知ったんだけど、個人が独自の Formula を公開するのに素晴らしい仕組みだね)。
しかし、自宅マシンでは MacPorts を使っているので、MacPorts の zsh の Portsfile をちょこちょこっといじって上記パッチを取り込むことにする。
昔 unzip の自家 Ports を作った時のファイルを参考に、適当にやったらなんとかうまく行ったようだ。
以下、覚え書き。
- brewの方でconfigureオプションとして指定していた、--enable-fndir から --enable-site-scriptdir までは Portfileの方には書かなかった。
- オリジナルの Portfile では --enable-libs="-lncurses" となっているところは、brewに合わせて --with-term-lib=ncursesw とした。
- brewにあった --disable-etcdir は取り込まなかった。
- brewの方は、依存関係で waltarix/customs/ncurses を指定していた。こちらの Formula を見たところ、--enable-widec くらいしか関係しそうなオプションがなかったのと、MacPorts の ncurses は --enable-widec が指定されていたので、そのまま MacPorts の ncurses を使うことにした。
- 不思議なことに、--with-term-lib=ncursesw と指定しているにもかかわらず、otool -L zsh すると、libncurses.5.dylib が出てくる。(brew版は ncurseswになっている)
ただ、MacPortsの環境では、libncursesw.5.dylib は libncurses.5.dylib へのシンボリックリンクなので、実害はない。実際正しく動いているように見える。 - 前に書いたのは、sha1とmd5でチェックサムが書いてあったので、md5sumコマンドとshasumコマンドでチェックサムを生成したんだけど、今回のzshのPortfileはrmd160と言う聞いたことがないものが書いてあった。
rmdsumコマンドが存在しないので調べてみたところ、md5、sha1、rmd160 ハッシュ値を得る方法 - 富士山は世界遺産と言うページを発見したので、opensslコマンドで生成した。(別にrmd160以外のを書いておけば通るんだけど)
カテゴリ
Macトラックバック(0)
このブログ記事を参照しているブログ一覧: zshとNFDファイル名
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/3020
コメントする