Open6

Atuiを試す

Ryo TAKAISHIRyo TAKAISHI

シェルヒストリーをSQLiteで管理する [atuin] を導入してみる。

https://github.com/atuinsh/atuin

MacだとHomebrewでインストールできる。

 brew install atuin
 echo 'eval "$(atuin init zsh)"' >> ~/.zshrc

既存のヒストリーもインポートできた。

atuin import zsh
Ryo TAKAISHIRyo TAKAISHI

https://docs.atuin.sh/guide/sync/

ヒストリーの同期も可能らしい。Atuinが提供するサーバーか、セルフホストすればいいとのこと。これは今のところ不要。個人の端末と仕事用の端末が1台ずつしかないので同期する必要がない。厳密には同期したいヒストリもあるが…

Ryo TAKAISHIRyo TAKAISHI

zshのキーバインドはこれ。↑キーで検索モードが発動するのはちょっと使いにくいなあ。ここはヒストリを一つずつ遡りたい。

https://docs.atuin.sh/configuration/key-binding/ にキーバインドまわりのことが書かれていて、↑キーの挙動を引数で向こうにできるようだ。

以下のように設定を変更。

 eval "$(atuin init zsh  --disable-up-arrow)"
Ryo TAKAISHIRyo TAKAISHI

インライン表示したいのと検索バーは上部に表示したいということで以下の設定を行う

style = "compact"
inline_height = 40
invert = true
Ryo TAKAISHIRyo TAKAISHI

これまではzsh+fzfでヒストリサーチをしていたのだけど、fzfの検索とatuiの検索で結構結果が違っていてストレス。というか、入力したキーワードが含まれていないヒストリが表示されている。何でだろう。

https://zenn.dev/haru_iida/articles/atuin_command_history_tool#履歴の検索 によると、 'keyword のようにするとキーワードにマッチする検索をしてくれるらしい。

検索モードについては https://docs.atuin.sh/configuration/config/#search_mode に書かれていた。