トップ «前の日記(2026/02/19 (木) ) 最新 編集 RSS feed

HsbtDiary


2026/02/20 (金) [長年日記]

fish から zsh に戻した

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 を再起動して全て終わり。大変便利。

win32-registry を bundled gems にした

default gems である win32-registryfiddle に依存しており、その fiddle は bundled gems なので fiddle をアンインストールすると default gems であるところの win32-registry が動かなくなるのはイマイチ、という話があり、じゃあ全部 bundled gems にしましょうかということでやっておいた。

https://bugs.ruby-lang.org/issues/21855

この辺、昨年のうちに気がつくべきではあったのだろうけど、なんでやってなかったのかもはや記憶がないんだよなあ。本当に秋くらいからは本当にダメで年が明けてからやっとペースが戻ったって感じ。