{"id":24070330,"url":"https://github.com/vbauerster/kakoune-pokemon","last_synced_at":"2026-03-02T18:36:59.463Z","repository":{"id":225782026,"uuid":"765998678","full_name":"vbauerster/kakoune-pokemon","owner":"vbauerster","description":"surf buffers with pokemons","archived":false,"fork":false,"pushed_at":"2024-11-27T07:54:52.000Z","size":46,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-09T15:46:31.548Z","etag":null,"topics":["kakoune","plugin"],"latest_commit_sha":null,"homepage":"","language":"KakouneScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vbauerster.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-02T04:08:33.000Z","updated_at":"2024-11-27T07:54:55.000Z","dependencies_parsed_at":"2024-11-27T08:37:26.320Z","dependency_job_id":null,"html_url":"https://github.com/vbauerster/kakoune-pokemon","commit_stats":null,"previous_names":["vbauerster/kakoune-pokemon"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauerster%2Fkakoune-pokemon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauerster%2Fkakoune-pokemon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauerster%2Fkakoune-pokemon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauerster%2Fkakoune-pokemon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vbauerster","download_url":"https://codeload.github.com/vbauerster/kakoune-pokemon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240934436,"owners_count":19880992,"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":["kakoune","plugin"],"created_at":"2025-01-09T15:37:53.355Z","updated_at":"2026-03-02T18:36:59.402Z","avatar_url":"https://github.com/vbauerster.png","language":"KakouneScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kakoune-pokemon\n\nSurf your buffers with pokemons.\n\n## Installation\n\nAdd `pokemon.kak` to your autoload directory: `~/.config/kak/autoload/`, or source it manually.\n\n## Features\n\n- no persistence, yes this is a feature.\n- linked list pokemons.\n- optionally set/restore cursor location.\n\n## Usage\n\nIt's highly recommended to apply default keybindings with `pokemon-keys-map` command which will add following mappings:\n\n```\nmap global normal \u003ca-1\u003e ':pokemon-open 1\u003cret\u003e'\nmap global normal \u003ca-2\u003e ':pokemon-open 2\u003cret\u003e'\nmap global normal \u003ca-3\u003e ':pokemon-open 3\u003cret\u003e'\nmap global normal \u003ca-4\u003e ':pokemon-open 4\u003cret\u003e'\nmap global normal \u003ca-5\u003e ':pokemon-open 5\u003cret\u003e'\nmap global normal \u003ca-6\u003e ':pokemon-open 6\u003cret\u003e'\nmap global normal \u003ca-7\u003e ':pokemon-open 7\u003cret\u003e'\nmap global normal \u003ca-8\u003e ':pokemon-open 8\u003cret\u003e'\nmap global normal \u003ca-9\u003e ':pokemon-open 9\u003cret\u003e'\nmap global normal \u003ca-0\u003e ':pokemon-open\u003cret\u003e' -docstring 'open last pinned one'\n```\n\n### Index mappings behaviour\n\nIndex mappings are self adjusted (not fixed). Let say 3 buffers named `A, B, C` were pinned to the list so buffer `A` can be accessed by `\u003ca-1\u003e`, buffer `B` by `\u003ca-2\u003e`, and so on. Dropping buffer `B` makes `\u003ca-2\u003e` access buffer `C` and `\u003ca-3\u003e` becomes no-op.\n\n### Pinning a buffer\n\nIt's recommended to pin a buffer via `pokemon` user mode, though `pokemon-pin` command can be used directly. Following is just example and is not mapped by default.\n\n```\nmap global user s ':enter-user-mode pokemon\u003cret\u003e' -docstring 'pokemon mode'\n```\n\n### Available commands\n\n- `pokemon-pin`: pin current buffer and enter user mode\n- `pokemon-drop`: drop pokemon by index or current one if index is omitted\n- `pokemon-open`: open pokemon by index or last pinned one if index is omitted\n- `pokemon-prev`: goto previous pokemon if available in the current context\n- `pokemon-next`: goto next pokemon if available in the current context\n- `pokemon-list`: list all pokemons in the `*pokemons*` buffer\n- `pokemon-keys-map`: map default keybindings\n\n### modelinefmt tip\n\nAdd `%opt{pokemon_index}` to your `modelinefmt` in order to see buffer's pin status. Value 0 means buffer isn't pinned and value greater than 0 means buffer is pinned. Following is just example:\n\n```\nset-option -add global modelinefmt ' p:%opt{pokemon_index} '\n```\n\n## Alternatives\n\n[kak-harpoon](https://github.com/raiguard/kak-harpoon)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbauerster%2Fkakoune-pokemon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvbauerster%2Fkakoune-pokemon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbauerster%2Fkakoune-pokemon/lists"}