atuin - 🐢魔法の殻の歴史

(🐢 Magical shell history)

Created at: 2020-10-05 07:01:58
Language: Rust
License: MIT

Atuin

魔法の殻の歴史

アニメーション

表示される終了コード、期間、時間、およびコマンド

Atuinは、既存のシェル履歴をSQLiteデータベースに置き換え、コマンドの追加のコンテキストを記録します。さらに、 Atuinサーバーを介して、マシン間の履歴のオプションの完全に暗号化された同期を提供します。

検索UIだけでなく、次のようなこともできます。

# search for all successful `make` commands, recorded after 3pm yesterday
atuin search --exit 0 --after "yesterday 3pm" make

私がホストしているサーバーを使用することも、独自のサーバーをホストすることもできます。または、同期をまったく使用しないでください。すべての履歴同期が暗号化されているため、必要な場合でもデータにアクセスできませんでした。そして、私は本当にしたくありません。

特徴

  • 再バインド
    up
    し
    ctrl-r
    、フルスクリーンの履歴検索UIを使用
  • シェル履歴をsqliteデータベースに保存する
  • 暗号化されたシェル履歴のバックアップと同期
  • 端末間、セッション間、およびマシン間で同じ履歴
  • ログ終了コード、cwd、ホスト名、セッション、コマンド期間など
  • 「最もよく使用されるコマンド」などの統計を計算する
  • 古い履歴ファイルは置き換えられません
  • 前のアイテムにすばやくジャンプしますAlt-<num>
  • ctrl-rを介してフィルターモードを切り替えます。現在のセッション、ディレクトリ、またはグローバルからの検索履歴

ドキュメンテーション

サポートされているシェル

  • zsh
  • bash
  • 魚

コミュニティ

AtuinにはコミュニティDisc​​ordがあり、ここから入手できます

クイックスタート

デフォルトの同期サーバーを使用

これにより、私がホストするデフォルトの同期サーバーにサインアップします。すべてがエンドツーエンドで暗号化されているため、秘密は安全です。

オフラインのみの使用、または独自のサーバーのホスティングについては、以下をお読みください。

bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)

atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>
atuin import auto
atuin sync

オフラインのみ(同期なし)

bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
            
atuin import auto

インストール

スクリプト(推奨)

インストールスクリプトは、シェルが適切に構成されていることを確認して、セットアップを支援します。また、以下のいずれかの方法を使用し、可能な場合はシステムパッケージマネージャー(pacman、homebrewなど)を優先します。

# do not run this as root, root will be asked for if required
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)

貨物あり

rustupを使用してRustツールチェーンをセットアップするのが最善です。その後、次のコマンドを実行できます。

cargo install atuin

自作

brew install atuin

MacPorts

AtuinはMacPortsでも利用できます

sudo port install atuin

パックマン

AtuinはArchLinuxコミュニティリポジトリで入手できます。

pacman -S atuin

ソースから

git clone https://github.com/ellie/atuin.git
cd atuin
cargo install --path .

シェルプラグイン

バイナリがインストールされたら、シェルプラグインをインストールする必要があります。インストールスクリプトを使用する場合は、これをすべて実行する必要があります。

zsh

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

またはプラグインマネージャーを使用する:

zinit load ellie/atuin

bash

いくつかのフックを設定する必要があるので、最初にbash-preexecをインストールします。

curl https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ~/.bash-preexec.sh
echo '[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh' >> ~/.bashrc

次に、Atuinをセットアップします

echo 'eval "$(atuin init bash)"' >> ~/.bashrc

魚

追加

atuin init fish | source

ファイル内の

is-interactive
ブロックに
~/.config/fish/config.fish

...名前は何ですか?

Atuinは、TerryPratchettのDiscworldシリーズの本の巨大なカメである「TheGreatA'Tuin」にちなんで名付けられました。