📜 + 🔎 = ❤️
hsearch
is a context-aware Bash/Zsh eternal history manager.
It facilitates the seamless collaboration between your past and future by keeping track of bash/zsh history in a plain text file (~/.zsh_eternal_history
or ~/.bash_eternal_history
) and providing a fuzzy search capability. It's written in Rust, so it's blazingly fast 🦀
# search eternal command history using fuzzy search / will copy to clipboard
hsearch
# search commands executed in the current directory
hsearch --here
# search commands executed in the current directory today
hsearch --here --today
# search commands executed in the current directory today
hsearch --here --yesterday
# edit eternal history file
vim ~/.bash_eternal_history # or ~/.zsh_eternal_history for zsh
-
Install the hsearch binary:
curl -fsSL https://raw.githubusercontent.com/grepinsight/history_search/master/install/install.sh | bash
git clone git@github.com:grepinsight/history_search.git && \ cd history_search && \ cargo install --path .
-
Add this line to bashrc or zshrc
# in bash eval "$(hsearch init bash)" # in zsh eval "$(hsearch init zsh)"
Clipboard can be configured to work with remote machines.
See https://seancoates.com/blogs/remote-pbcopy for details
hsearch -s 127.0.0.1:2241 # chosen command history will be sent to 2241 port