grepinsight/history_search

hsearch - context-aware bash/zsh eternal history manager and searcher

โ˜… 10Forks 1RustGitHub โ†—Compare
bashbash-historybash-history-managerclifuzzy-searchproductivitysearchtoolzshzsh-historyzsh-history-search

README

History Search (hsearch)

๐Ÿ“œ + ๐Ÿ”Ž = โค๏ธ

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 ๐Ÿฆ€

๐Ÿ’ป Usage

# 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

๐Ÿ“œ Installation

Getting Started

  1. Install the hsearch binary:

    Install Latest Version

    From prebuilt binary, with Shell:
    curl -fsSL https://raw.githubusercontent.com/grepinsight/history_search/master/install/install.sh | bash
    From source
    git clone [email protected]:grepinsight/history_search.git && \
       cd history_search && \
       cargo install --path .
  2. Add this line to bashrc or zshrc

    # in bash
    eval "$(hsearch init bash)"
    
    # in zsh
    eval "$(hsearch init zsh)"

๐Ÿš€ Advanced Usage

Using hsearch in a remote machine

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

Contributors

grepinsightgh-alleealsuren

Issues