Open6
Atuiを試す
シェルヒストリーをSQLiteで管理する [atuin] を導入してみる。
MacだとHomebrewでインストールできる。
brew install atuin
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
既存のヒストリーもインポートできた。
atuin import zsh
ヒストリーの同期も可能らしい。Atuinが提供するサーバーか、セルフホストすればいいとのこと。これは今のところ不要。個人の端末と仕事用の端末が1台ずつしかないので同期する必要がない。厳密には同期したいヒストリもあるが…
zshのキーバインドはこれ。↑キーで検索モードが発動するのはちょっと使いにくいなあ。ここはヒストリを一つずつ遡りたい。
https://docs.atuin.sh/configuration/key-binding/ にキーバインドまわりのことが書かれていて、↑キーの挙動を引数で向こうにできるようだ。
以下のように設定を変更。
eval "$(atuin init zsh --disable-up-arrow)"
Enterを押下した際に選択していたヒストリが即実行されるのは困るので、設定を変更。
enter_accept = false
インライン表示したいのと検索バーは上部に表示したいということで以下の設定を行う
style = "compact"
inline_height = 40
invert = true
これまではzsh+fzfでヒストリサーチをしていたのだけど、fzfの検索とatuiの検索で結構結果が違っていてストレス。というか、入力したキーワードが含まれていないヒストリが表示されている。何でだろう。
https://zenn.dev/haru_iida/articles/atuin_command_history_tool#履歴の検索 によると、 'keyword
のようにするとキーワードにマッチする検索をしてくれるらしい。
検索モードについては https://docs.atuin.sh/configuration/config/#search_mode に書かれていた。