| internal | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| README.md | ||
| search.sh | ||
| sync.sh | ||
shell-history
Shell history stored in SQLite, synced via git.
Install
cd $HOME/dev/vlv
git clone git.meatbag.se:vlv/shell-history.git shell-history
mkdir histdb
cd shell-history
go build -o verbatim .
install verbatim ~/bin
Migrate from log files
verbatim import ~/dev/vlv/histdb/
zsh
~/.zshrc:
autoload -Uz compinit promptinit add-zsh-hook
histdb_dir="$HOME/dev/vlv/histdb"
_add_history() {
if test "$(id -u)" -ne 0; then
local cmd=$(fc -ln -1)
cmd=${cmd//$'\n'/\\n}
verbatim add \
--timestamp "$(date -u +%Y-%m-%dT%H:%M:%S+00:00)" \
--hostname "$(hostname)" \
--dir "$(pwd)" \
-- "$cmd"
fi
}
add-zsh-hook precmd _add_history
# install hs (interactive search + copy to clipboard)
install scripts/hs ~/bin
Usage
verbatim [--db PATH] add --timestamp T --hostname H --dir D -- COMMAND...
verbatim [--db PATH] search [--host H] [--dir D] [--after T] [--before T] [--limit N] [QUERY...]
verbatim [--db PATH] sync [DIR]
verbatim [--db PATH] import DIR
verbatim [--db PATH] stats
Default --db: ~/.local/share/verbatim/history.db
Legacy
The old shell scripts (search.sh, sync.sh) are kept for backward compatibility
during migration. They continue to work with the log files in the git repo.