{"id":21693620,"url":"https://github.com/mellbourn/zabb","last_synced_at":"2025-04-12T10:41:42.869Z","repository":{"id":51741135,"uuid":"340971506","full_name":"Mellbourn/zabb","owner":"Mellbourn","description":"zabb - a plugin for finding z abbreviations","archived":false,"fork":false,"pushed_at":"2023-01-12T23:57:39.000Z","size":56,"stargazers_count":41,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T05:33:18.613Z","etag":null,"topics":["plugin","z","zoxide","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/Mellbourn.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":"2021-02-21T18:19:14.000Z","updated_at":"2024-12-15T02:41:58.000Z","dependencies_parsed_at":"2023-02-09T13:45:57.949Z","dependency_job_id":null,"html_url":"https://github.com/Mellbourn/zabb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mellbourn%2Fzabb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mellbourn%2Fzabb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mellbourn%2Fzabb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mellbourn%2Fzabb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mellbourn","download_url":"https://codeload.github.com/Mellbourn/zabb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248556862,"owners_count":21124156,"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","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":["plugin","z","zoxide","zsh"],"created_at":"2024-11-25T18:21:26.568Z","updated_at":"2025-04-12T10:41:42.832Z","avatar_url":"https://github.com/Mellbourn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zabb\n\n[![License: MIT][license icon]][license]\n\nzabb - a zsh plugin for finding z abbreviations\n\n## Command\n\nI love the [z][zoxide] command. It lets me quickly jump to my favorite directories by typing very few keys.\nBut - sometimes I give in to my OCD and pause to wonder: _how_ few keys can I get away with?\n\nI can experiment, try different short versions. But this is hit-and-miss, and ironically, it can mess with the ranking and change what abbreviations can be used.\n\nPresenting the solution: `zabb`\n\n`zabb` is a command that tries to figure out the shortest memorable abbreviation of a directory that is usable by `z` to unambiguously jump to that directory.\n\nBy default, only abbreviations that start the same way as the directory name are returned.\n\n```text\nUSAGE:\n  zabb [\u003cDIRECTORY\u003e]\n\nARGS:\n  \u003cDIRECTORY\u003e\n      Directory to find z abbrevs for. If none is given, it defaults to the current working directory\n\nFLAGS:\n  -s or --shortest\n      Allow abbreviations even if they do not start the same way as the directory name. (This will often find shorter abbreviations, but they may be less easy to remember)\n  -a or --all\n      List all (contiguous) abbreviations (implies -s)\n  -1 or --one-letter\n      List which directories each single-letter abbreviations in the alphabet will result in\n  -h or --help\n      Print help\n```\n\n## Examples\n\n```zsh\n~ \u003e ls -d Do*\nDocuments Downloads\n~ \u003e zabb Downloads\nd\n~ \u003e z d\n~/Downloads \u003e cd\n~ \u003e zabb Documents\ndoc\n~ \u003e z doc\n~/Documents \u003e cd\n~ \u003e zabb -s Documents\nu\nm\ne\n~ \u003e z u\n~ /Documents\u003e cd\n~ \u003e zabb -a Documents\nu\nm\ne\nt\noc\ncu\num\n[...]\n```\n\nNon-contiguous, i.e. space-separated, abbreviations are not looked for. So, in some fairly rare circumstances, the shortest abbreviations may not be found.\n\nCurrently zabb mainly supports the [zoxide][zoxide] implementation of `z`. It works ok with [z.lua][z.lua], [fasd][fasd] and [z][rupa_z], but may not find the shortest abbreviations for those. It may work for other implementations if they support the `z -e` command. I welcome PRs to expand `zabb` to other implementations.\n\n## Installation\n\n### zinit\n\nThis plugin is designed as a [zinit][zinit] module, but it's also\ncompatible with other zsh plugin managers.\n\nYou can use [Turbo Mode][turbo mode] to load `zabb`:\n\n```zsh\nzinit ice wait'1' lucid\nzinit light mellbourn/zabb\n```\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2021 Klas Mellbourn\n\n[license icon]: https://img.shields.io/badge/License-MIT-green.svg\n[license]: https://opensource.org/licenses/MIT\n[zinit]: https://github.com/zdharma/zinit\n[turbo mode]: http://zdharma.org/zinit/wiki/INTRODUCTION/#turbo_mode_zsh_53\n[zoxide]: https://github.com/ajeetdsouza/zoxide\n[z.lua]: https://github.com/skywind3000/z.lua\n[fasd]: https://github.com/clvv/fasd\n[rupa_z]: https://github.com/rupa/z\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmellbourn%2Fzabb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmellbourn%2Fzabb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmellbourn%2Fzabb/lists"}