| Crates.io | igrepper |
| lib.rs | igrepper |
| version | 1.3.6 |
| created_at | 2021-04-19 07:10:00.494693+00 |
| updated_at | 2025-06-01 08:44:05.043621+00 |
| description | The interactive grepper |
| homepage | https://igrepper.org |
| repository | https://github.com/igoyak/igrepper |
| max_upload_size | |
| id | 386540 |
| size | 5,120,263 |
Filter text with regex, re-evaluated at every keypress, minimizing thec feedback loop.

Either:
Download binary
To install without setting up a rust environment, grab the igrepper binary from the latest
release: https://github.com/igoyak/igrepper/releases
Then make it executable with chmod and put it in your PATH.
Install using cargo
cargo install igrepper
Build and run from source code
cargo run
Dependencies
Ubuntu: apt-get install xsel for clipboard support
Recommended .bashrc additions:
alias i='igrepper'
iman() {
man "$1" | igrepper --context 3
}
Read input from pipe:
dmesg | i
Read input from file:
i /etc/fstab
Create a grep command using ctrl-g:

See context around matches:

Reload the file as it changes (similar to tail -f):
i -f somefile.log
Edit the current regex by typing.
Movement:
| Command | Action |
|---|---|
Up/Down/Left/Right/PageUp/PageDown |
Scroll |
ctrl-u/ctrl-d |
Half-page scroll |
Searching:
| Command | Action |
|---|---|
ctrl-n/ctrl-j/Enter |
Accept current regex, start a sub-search |
ctrl-p |
Revert sub-search |
ctrl-i |
Toggle case sensitivity |
ctrl-v |
Toggle inverted |
ctrl-r/ctrl-t |
Decrease/Increase context-lines |
Exporting:
| Command | Action |
|---|---|
ctrl-e |
Copy current match to clipboard |
ctrl-g |
Copy equivalent grep command to clipboard |
F1 |
Pipe current match to the configured external editor |
(Inside vim) F1 |
Pipe current buffer to igrepper (add map <F1> :silent :w !igrepper<CR>:q!<CR> to your .vimrc) |
Set the environment variable IGREPPER_EDITOR to a command and arguments, separated by whitespace, to customize which
editor is used when pressing F1. The command must support reading from STDIN.
Example .bashrc configuration:
export IGREPPER_EDITOR="vim -R -" # vim in read-only mode (default)
export IGREPPER_EDITOR="code -" # vscode
export IGREPPER_EDITOR="nano -v -" # nano in read-only mode
Tested on Ubuntu 20.04
screen/tmux and urxvt. As a workaround, you can either:
export TERM=rxvt-unicode-256colorterm screen-256color to your .screenrcUbuntu: apt-get install libncurses-dev
Either:
cargo build --releaserm -r dockertarget; docker build . -t igrepperbuild && docker run --name igrepperbuild igrepperbuild && docker cp igrepperbuild:/tmp/target/release dockertarget; docker rm igrepperbuildcargo publish --dry-runcargo publishgit push./target/release/igrepper