{"id":13523904,"url":"https://github.com/mattn/gof","last_synced_at":"2025-08-10T12:15:53.999Z","repository":{"id":12393426,"uuid":"15046074","full_name":"mattn/gof","owner":"mattn","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-23T12:53:43.000Z","size":121,"stargazers_count":179,"open_issues_count":3,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-16T03:34:43.649Z","etag":null,"topics":["go","gof","golang","windows"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-12-09T11:58:51.000Z","updated_at":"2025-05-25T11:52:40.000Z","dependencies_parsed_at":"2024-01-13T22:09:29.437Z","dependency_job_id":null,"html_url":"https://github.com/mattn/gof","commit_stats":{"total_commits":114,"total_committers":11,"mean_commits":"10.363636363636363","dds":"0.33333333333333337","last_synced_commit":"ebcd853493a68e181e19f17c1f7c50c404de78f2"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/mattn/gof","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fgof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fgof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fgof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fgof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattn","download_url":"https://codeload.github.com/mattn/gof/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattn%2Fgof/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269721389,"owners_count":24464491,"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-08-10T02:00:08.965Z","response_time":71,"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":["go","gof","golang","windows"],"created_at":"2024-08-01T06:01:04.985Z","updated_at":"2025-08-10T12:15:53.955Z","avatar_url":"https://github.com/mattn.png","language":"Go","readme":"# gof\n\nGo Fuzzy\n\n![](http://i.imgur.com/TGZJyGV.gif)\n\n[Open files in Vim directly (inside Vim terminal)](#vim-terminal-api)\n\n![](https://i.imgur.com/pRhl9o3.gif)\n\n## Installation\n\n    $ go install github.com/mattn/gof@latest\n\n## Feature\n\n* Faster and startup\n* Working on windows\n\n## Usage\n\n* Glob files and edit the selected file with vim.\n\n```sh\n$ vim `gof`\n```\n\n* Read from stdin\n\n```sh\n$ find /tmp | gof\n```\n\n## Keyboard shortcuts\n\n|Key                                                      |Description                         |\n|---------------------------------------------------------|------------------------------------|\n|\u003ckbd\u003eCTRL-K\u003c/kbd\u003e,\u003ckbd\u003eCTRL-P\u003c/kbd\u003e,\u003ckbd\u003eARROW-UP\u003c/kbd\u003e  |Move-up line                        |\n|\u003ckbd\u003eCTRL-J\u003c/kbd\u003e,\u003ckbd\u003eCTRL-N\u003c/kbd\u003e,\u003ckbd\u003eARROW-DOWN\u003c/kbd\u003e|Move-down line                      |\n|\u003ckbd\u003eCTRL-A\u003c/kbd\u003e,\u003ckbd\u003eHOME\u003c/kbd\u003e                        |Go to head of prompt                |\n|\u003ckbd\u003eCTRL-E\u003c/kbd\u003e,\u003ckbd\u003eEND\u003c/kbd\u003e                         |Go to trail of prompt               |\n|\u003ckbd\u003eARROW-LEFT\u003c/kbd\u003e                                    |Move-left cursor                    |\n|\u003ckbd\u003eARROW-RIGHT\u003c/kbd\u003e                                   |Move-right cursor                   |\n|\u003ckbd\u003eCTRL-I\u003c/kbd\u003e                                        |Toggle view header/trailing of lines|\n|\u003ckbd\u003eCTRL-L\u003c/kbd\u003e                                        |Redraw                              |\n|\u003ckbd\u003eCTRL-U\u003c/kbd\u003e                                        |Clear prompt                        |\n|\u003ckbd\u003eCTRL-W\u003c/kbd\u003e                                        |Remove backward word                |\n|\u003ckbd\u003eBS\u003c/kbd\u003e                                            |Remove backward character           |\n|\u003ckbd\u003eDEL\u003c/kbd\u003e                                           |Delete character on the cursor      |\n|\u003ckbd\u003eCTRL-Z\u003c/kbd\u003e                                        |Toggle selection                    |\n|\u003ckbd\u003eCTRL-R\u003c/kbd\u003e                                        |Toggle fuzzy option                 |\n|\u003ckbd\u003eEnter\u003c/kbd\u003e                                         |Decide                              |\n|\u003ckbd\u003eCTRL-D\u003c/kbd\u003e,\u003ckbd\u003eCTRL-C\u003c/kbd\u003e,\u003ckbd\u003eESC\u003c/kbd\u003e       |Cancel                              |\n\n## Options\n\n|Option        |Description                      |\n|--------------|---------------------------------|\n|-f            |Fuzzy match                      |\n|-x            |Exit code for cancel (default: 1)|\n|-d [path]     |Specify root directory           |\n|-a            |Register action keys             |\n|-t            |Open via Vim's Terminal API      |\n|-tf [funcname]|Terminal API's function name     |\n\n## Vim Terminal API\n\n* `gof -t` or `gof -tf [prefix]` opens selected files in Vim using [Terminal API](https://vim-jp.org/vimdoc-en/terminal.html#terminal-api). \n\n* If you want to add `-t` option automatically whether you are inside Vim\n  terminal or not, you can define alias like this\n\n```sh\ngof() {\n  if [ \"$VIM_TERMINAL\" ]; then\n    command gof -t \"$@\"\n  else\n    command gof \"$@\"\n  fi\n}\n```\n\n* If you are familiar with Vim script, you may want to send `[\"call\", \"[funcname]\", \"[file information]\"]` instead of `[\"drop\", \"[filename]\"]`. You can use `gof -tf [funcname]` to send `call` command\n\n```\n[file information] = {\n  \"filename\": [relative filename path (string)],\n  \"fullpath\": [absolute filename path (string)],\n  \"root_dir\": [root directory (string)],\n  \"action_key\": [action key of -a (string)]\n}\n```\n\n* You can define utility Vim command `:Gof`. Quickly calls `gof -t` command and\n  opens selected files in Vim buffer\n\n```vim\nif executable('gof')\n  command! -nargs=* Gof term ++close gof -t\nendif\n```\n\n![](https://i.imgur.com/jvfuOxh.gif)\n\n* Please try [vargs](https://github.com/tyru/vargs) if you want to communicate easily with Vim terminal API from shell\n\n## License\n\nMIT\n\n## Author\n\nYasuhiro Matsumoto (a.k.a mattn)\n","funding_links":[],"categories":["Command Line","Go"],"sub_categories":["Dependency Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattn%2Fgof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattn%2Fgof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattn%2Fgof/lists"}