{"id":33174864,"url":"https://github.com/mrnugget/fzz","last_synced_at":"2025-11-20T20:02:00.918Z","repository":{"id":15070502,"uuid":"17796834","full_name":"mrnugget/fzz","owner":"mrnugget","description":"fzz makes your command line interactive!","archived":false,"fork":false,"pushed_at":"2016-08-17T05:14:52.000Z","size":141,"stargazers_count":199,"open_issues_count":4,"forks_count":8,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-06-18T23:15:31.812Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrnugget.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-16T10:23:14.000Z","updated_at":"2024-05-09T20:24:43.000Z","dependencies_parsed_at":"2022-07-16T21:33:08.084Z","dependency_job_id":null,"html_url":"https://github.com/mrnugget/fzz","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/mrnugget/fzz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Ffzz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Ffzz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Ffzz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Ffzz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrnugget","download_url":"https://codeload.github.com/mrnugget/fzz/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrnugget%2Ffzz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285503668,"owners_count":27182913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-16T02:00:34.328Z","updated_at":"2025-11-20T20:02:00.906Z","avatar_url":"https://github.com/mrnugget.png","language":"Go","readme":"# fzz [![Build Status](https://travis-ci.org/mrnugget/fzz.svg?branch=master)](https://travis-ci.org/mrnugget/fzz)\n\n**Do one thing, do it well — multiple times!**\n\n**fzz** allows you to change the input of a single command interactively. Have a\nlook and pay close attention to the bee's knees here:\n\n![fzz-gif-cast2](https://s3-eu-west-1.amazonaws.com/fzz/fzz_demo.gif)\n\n## Installation\n\nCurrent version: 1.1.0\n\n### Download the binaries\n\nDownload the [current release](https://github.com/mrnugget/fzz/releases) for\nyour platform and copy the **fzz** binary to your `$PATH`.\n\n### Compile from source\n\nMake sure you have Go installed. Then install **fzz** from source:\n\n```\ngo get github.com/mrnugget/fzz\n```\n\n## Usage\n\nThe general usage pattern is this:\n\n```bash\nfzz [command with {{}} placeholder]\n```\n\nExample: using **fzz** and `grep` to search through all `*.go` files in the current\ndirectory.\n\n```\nfzz grep {{}} *.go\n```\n\nRunning this presents you with a prompt that allows you to change what `grep`\nwill use as its search pattern by replacing `{{}}`.\n\nAfter every input change **fzz** will rerun `grep` with the new input and\nshow you what `grep` wrote to its STDOUT or, hopefully not, to its STDERR.\n\nOnce you're happy with the presented results simply press **return** to quit\n**fzz** and have the results printed to STDOUT.\n\nSince the results will be printed to STDOUT you can use **fzz** with pipes:\n\n```\nfzz grep {{}} *.go | head -n 1 | awk -F\":\" '{print $1}'\n```\n\n**fzz** buffers its STDIN and passes it on to the specified command. That means\nyou can put pipes all around it:\n\n```\ngrep 'func' *.go | fzz grep {{}} | head -n 1\n```\n\nIf you want to change the placeholder, you can do that by specifying it with the\nenvironment variable `FZZ_PLACEHOLDER`:\n\n```\nFZZ_PLACEHOLDER=%% fzz grep %% *.go\n```\n\n## Usage Examples\n\n### Searching with ag\n\nUse **fzz** to search through your current directory with\n[the_silver_searcher](https://github.com/ggreer/the_silver_searcher)\ninteractively:\n\n```\nfzz ag {{}}\n```\n\n### fzz and find for interactive file search\n\nWe can combine `find` and `fzz` to interactively search for files that match our\ninput pattern:\n\n```\nfzz find ./Documents -iname \"*{{}}*\"\n```\n\n### Use it in Vim to grep through your project\n\nUse it as interactive search in Vim by setting it to `grepprg`:\n\n```\n:set grepprg=fzz\\ ag\\ --nogroup\\ --nocolor\\ \\{\\{\\$*}\\}\n```\n\nThen use `:grep \u003csearchterm\u003e` in Vim to start it. **fzz** will then fill the\nquickfix list with its results.\n\nUse [fzz.vim](https://github.com/mrnugget/vim-fzz) for more flexibility and\nfeatures.\n\n### Interactively search files and open the results in your editor\n\nPut this in your shell config and configure it to use your favorite editor:\n\n```bash\nvimfzz() {\n  vim $(fzz ag {{}} | awk -F\":\" '{print $1}' | uniq)\n}\n```\n\n## TODO\n\n* Maybe change how fzz is printing its output to the TTY: instead of clearing the\n  screen, jump to the first line, right after the input and rewrite the visible\n  lines (padded so that all the columns are used and the previous output is not\n  visible anymore)\n* Maybe selection of a line with Ctrl-J and Ctrl-K and the only print the\n  selected line.\n\n## Contributing\n\nGo ahead and open a issue or send a pull request. Fork it, branch it, send it.\n\n## Contributors\n\nThanks to [ebfe](http://github.com/ebfe) for fixing a ton of bugs, adding\nfeatures and offering suggestions!\n\n## License\n\nMIT, see [LICENSE](LICENSE)\n","funding_links":[],"categories":["Other"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrnugget%2Ffzz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrnugget%2Ffzz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrnugget%2Ffzz/lists"}