https://github.com/nobbmaestro/lazyhis
Simple terminal UI for shell history
https://github.com/nobbmaestro/lazyhis
golang history history-management shell
Last synced: 2 months ago
JSON representation
Simple terminal UI for shell history
- Host: GitHub
- URL: https://github.com/nobbmaestro/lazyhis
- Owner: nobbmaestro
- License: mit
- Created: 2025-02-06T12:12:42.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2026-02-12T23:07:27.000Z (5 months ago)
- Last Synced: 2026-02-13T08:26:36.757Z (5 months ago)
- Topics: golang, history, history-management, shell
- Language: Go
- Homepage:
- Size: 1.98 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
LazyHis
A simple terminal UI for shell history, written in Go!
## Why LazyHis?
LazyHis focuses on simplicity, speed, and a clean terminal UI.
- 🚀 **Fast**: Written in Go for maximum performance.
- 🎨 **Customizable**: Supports themes and keybindings.
- 🔍 **Powerful**: Advanced filtering, customizable, and shell integration.
## Table of contents
- [Quick Install](#quick-install)
- [Homebrew](#homebrew)
- [Build from Source](#build-from-source)
- [Configure zsh](#configure-zsh)
- [Feature Roadmap](#feature-roadmap)
- [Customization](#customization)
- [Alternatives](#alternatives)
## Quick Install
### 1. Install the lazyhis binary:
#### With [Homebrew](https://brew.sh) (Recommended)
```sh
brew tap nobbmaestro/homebrew-tap
brew install lazyhis
```
#### Build from Source
```sh
git clone git@github.com:nobbmaestro/lazyhis.git
cd lazyhis
make install
```
### 2. Add the init script to your shell's config file:
#### Zsh
Add the following to the end of ~/.zshrc:
```sh
# ~/.zshrc
eval "$(lazyhis init zsh)"
```
### 3. Import existing histfile:
#### Zsh
```sh
lazyhis history import --zsh /path/to/histfile
```
## Feature Roadmap
- [ ] Add export CLI command for exporting to HISTFILE
- [x] Add generate shell-completions CLI command
- [x] Add prune CLI command for removing history based on ignore pattern
- [x] Add dry flag for prune CLI command
- [x] Add verbosity flag for prune and import CLI commands
- [x] Copy to clipboard via GUI
- [x] Customizable GUI theme
- [x] Customizable command exclusion by patterns
- [x] Customizable command exclusion by prefix
- [x] Customizable keybindings
- [x] Delete history entries via GUI
- [ ] Delete multiple history entries via GUI
- [ ] Edit history entries via GUI
- [x] Filter history by context via GUI
- [ ] Fuzzy-finder search strategy in GUI
- [ ] Support for inline GUI mode
## Customization
Check out the [configuration docs](docs/config.md).
## Alternatives
If `lazyhis` isn't quite what you're looking for, you might prefer:
- [Atuin](https://github.com/atuinsh/atuin)