fish で暮らしていて大体同じことができるなら別に zsh でもいいかと思いつつもイマイチ手を動かさないでいたのだけど、ワンライナーで実行する時のエスケープの挙動で bash とは違う動きでちょっとハマってしまう事象があり、fish 最悪!となったので zsh に戻った。
とりあえず手元にある config.fish を copilot に命じて、zsh を使って fish と config.fish を読み込んだ時とほぼ同じような挙動になるように zshrc を書けと言って出てきたのがこれ。
https://github.com/hsbt/hsbt/blob/master/toolbox/xdg/config/zsh/.zshrc
zsh 単体では fish にある suggest コマンドをぼんやりと表示して選択して実行、というのができないようだったので typo さんから教えてもらった https://github.com/zsh-users/zsh-autosuggestions は手で入れた。
あと zsh は 2026 年にもなって XDG に対応してない最悪な感じだったので ZDOTDIR=/Users/hsbt/.config/zsh というのをシェルではなく macOS のログインシェルレベルで入れるようにして、~/.config/zsh/.zshrc を読み込むようにした。
ここまできて Terminal.app から zsh を起動してみたらびっくりするくらい fish っぽい zsh が起動してエラーもなんもなしという結果だったのでこれで過ごすことにした。最後に tmux.conf のシェルを fish から
set-option -g default-shell /opt/homebrew/bin/zsh
と変更して ghostty を再起動して全て終わり。大変便利。
default gems である win32-registry は fiddle に依存しており、その fiddle は bundled gems なので fiddle をアンインストールすると default gems であるところの win32-registry が動かなくなるのはイマイチ、という話があり、じゃあ全部 bundled gems にしましょうかということでやっておいた。
https://bugs.ruby-lang.org/issues/21855
この辺、昨年のうちに気がつくべきではあったのだろうけど、なんでやってなかったのかもはや記憶がないんだよなあ。本当に秋くらいからは本当にダメで年が明けてからやっとペースが戻ったって感じ。