A simple terminal UI for shell history, written in Go!
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.
With Homebrew
brew tap nobbmaestro/homebrew-tap
brew install lazyhisnix build github:nobbmaestro/lazyhis
# or from a local clone
nix buildTo integrate into your own flake, add lazyhis as an input and apply the overlay:
# flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
lazyhis.url = "github:nobbmaestro/lazyhis";
};
outputs = { nixpkgs, lazyhis, ... }: {
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
{
nixpkgs.overlays = [ lazyhis.overlays.default ];
environment.systemPackages = [ pkgs.lazyhis ];
}
];
};
};
}The overlay works the same way with Home Manager:
{
nixpkgs.overlays = [ lazyhis.overlays.default ];
home.packages = [ pkgs.lazyhis ];
}git clone git@github.com:nobbmaestro/lazyhis.git
cd lazyhis
make installAdd the following to the end of ~/.zshrc:
# ~/.zshrc
eval "$(lazyhis init zsh)"lazyhis history import --zsh /path/to/histfile- Add export CLI command for exporting to HISTFILE
- Add generate shell-completions CLI command
- Add prune CLI command for removing history based on ignore pattern
- Add dry flag for prune CLI command
- Add verbosity flag for prune and import CLI commands
- Copy to clipboard via GUI
- Customizable GUI theme
- Customizable command exclusion by patterns
- Customizable command exclusion by prefix
- Customizable keybindings
- Delete history entries via GUI
- Delete multiple history entries via GUI
- Edit history entries via GUI
- Filter history by context via GUI
- Fuzzy-finder search strategy in GUI
- Support for inline GUI mode
Check out the configuration docs.
If lazyhis isn't quite what you're looking for, you might prefer:
