@kyanny's blog

My thoughts, my life. Views/opinions are my own.

zsh

数年ぶりに zsh を使い始めた。

周囲が誰も彼も zsh を使っていたので、なんとなく天邪鬼で bash を使っていたが、 history を peco のインターフェイスで絞り込む連携がうまく動かないのと、 macOS Sierra にしてから Homebrew の bash-completion が使えなくなってしまった(読み込むとシェルが tail コマンドの呼び出しで止まってしまう)。不便なので、思い切って乗り換えた。

使い始めるにあたり、設定で悩まない・苦労しないことを何よりも重視した。定番の設定は一通り抑えておいて欲しい、しかし自分でいちいちカスタマイズはしたくない。多機能でなくていいし、拡張性もいらない。そのかわり、とにかく使い方を覚えるとか、そういう労力を使わずに使い始めたい。設定用ツールがおかしくなってソースを読むはめになるとか最悪なので絶対に避けたい。あと、嫌になったらすぐ捨てられるように、ロックインされたくない。要するに、なるべく単純なのがいい。

そういう観点でいくつかオレオレ .zshrc とか zsh 用のフレームワーク的なものを調べる過程で、 http://www.clear-code.com/blog/2011/9/5.html という記事を見つけた。これこそ求めていたものだと思い、これをそっくりそのまま使わせてもらうことにした。 https://github.com/clear-code/zsh.d を git clone してきて .zshrc を作り、 peco 連携の関数をコピペしたり、 rbenv や nvm の設定など、最低限の設定を追加した。 .zshrc と .zshenv 自体の管理は、それぞれ実体を Dropbox に置いて $HOME 直下にシンボリックリンクを張った。

この zsh.d の中で定義されているコマンドのエイリアスなどは馴染みがないものも多数あるが、自分好みに取捨選択したり書き換えたりせず、あえてこのまま使ってみようと思う。 clear-code というか須藤 功平さんが使っている設定なら、それは十分信頼が置ける設定といってよく、設定に合わせて自分を変えた方がよいのでは?と思ったからだ。都合のいいことに、使い慣れていないぶん、手癖もついていないので、スイッチングコストも今なら小さくて済む。まだ一週間しか経っていないし、一週間でろくにシェル操作をしてないのでなんともいえないけど、カスタマイズを楽しめなくなった今となっては、信頼できる誰かの知見に丸ごと乗っかるというのは悪くないアイデアだという気がしている。

同じ発想で、あわよくば Emacs の設定も…と、思って少しみてみたが、こちらはそうもいかなそうだった。自分の手癖との違いがありすぎて、ちょっと矯正できそうにない。やはりシェルよりもエディタのほうが癖がつきやすく、乗り換えづらいものなんだろうな、と思った。