| Crates.io | shi_history |
| lib.rs | shi_history |
| version | 0.7.0 |
| created_at | 2023-04-23 02:16:53.814549+00 |
| updated_at | 2024-12-30 22:44:57.22348+00 |
| description | A tiny program to add the time and place to your shell history. This also enables you to copy a command to the clipboard. |
| homepage | |
| repository | https://github.com/kyoheiu/shi |
| max_upload_size | |
| id | 846295 |
| size | 97,163 |
shell history / 史
A tiny program to add the time and place to your shell history.
This also enables you to copy a command to the clipboard.

Sqlite required.
cargo install shi_history, or
git clone https://git.sr.ht/~kyoheiu/shi
cd shi
cargo install --path .
And add the preexec hook to your shell config file.
(bash-preexec required. See https://github.com/rcaloras/bash-preexec)
source ~/.bash-preexec.sh
preexec() { shi --insert "$@"; }
For zsh or fish, you can use preexec hook.
If you'd like to copy a command to the clipboard, set any clipboard utility such
as xclip or wl-copy as $SHI_CLIP.
At the first launch, shi creates sqlite database in
$XDG_DATA_HOME/shi/.history (on Linux, in most case it should be
~/.local/share/shi/.history).
shi Print latest commands (50 rows)
shi <COMMAND> [ROWS] Show commands that match the query
Options:
-a, --all Print all the history with the directory path where the command was executed
-i, --insert <COMMAND> Insert the command to the history
-r, --remove <ID> Delete the command that matches the id
-p, --path <PATH> [ROWS] Show commands that were executed in directories that match the query
-o, --output Export all the history to `$XDG_DATA_HOME/shi/history.csv`
--drop Drop the database table, deleting all history