{"id":27747458,"url":"https://github.com/TheLazyCat00/racer-nvim","last_synced_at":"2025-04-28T21:01:21.515Z","repository":{"id":283539860,"uuid":"952060069","full_name":"TheLazyCat00/racer-nvim","owner":"TheLazyCat00","description":"A Neovim plugin for cycling through key sequences with custom triggers.","archived":false,"fork":false,"pushed_at":"2025-04-19T11:05:01.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T16:21:03.069Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","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/TheLazyCat00.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,"zenodo":null}},"created_at":"2025-03-20T17:06:08.000Z","updated_at":"2025-04-19T11:05:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc519af9-92a6-48c9-8fb3-b68446dafc49","html_url":"https://github.com/TheLazyCat00/racer-nvim","commit_stats":null,"previous_names":["thelazycat00/racer-nvim"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheLazyCat00%2Fracer-nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheLazyCat00%2Fracer-nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheLazyCat00%2Fracer-nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheLazyCat00%2Fracer-nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheLazyCat00","download_url":"https://codeload.github.com/TheLazyCat00/racer-nvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251389338,"owners_count":21581779,"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":[],"created_at":"2025-04-28T21:00:51.937Z","updated_at":"2025-04-28T21:01:21.401Z","avatar_url":"https://github.com/TheLazyCat00.png","language":"Lua","funding_links":[],"categories":["Keybinding","Recently Updated"],"sub_categories":["Tree-sitter Based","[Apr 28, 2025](/content/2025/04/28/README.md)"],"readme":"# racer-nvim 🏎\r\n\r\nracer-nvim allows you to repeat the last jump forward or backward. It's similar to demicolon, but unlike [demicolon](https://github.com/mawkler/demicolon.nvim), this plugin works with any other plugin because the functionality isn't hardcoded per jump. That means if you later add more functionality to the keys you've configured with this plugin, you won't have to worry about it not working.\r\n\r\nhttps://github.com/user-attachments/assets/a41debdc-459c-42f8-b141-5b84e0395e57\r\n\r\n## Installation with [lazy.nvim](https://github.com/folke/lazy.nvim)\r\n\r\n```lua\r\n{\r\n    \"TheLazyCat00/racer-nvim\",\r\n\r\n    -- if you want to keep the defaults, do opts = {}\r\n    -- if opts is nil, lazy.nvim does not load the plugin\r\n    opts = {\r\n        triggers = {\r\n\r\n            -- first element: key used to go backwards\r\n            -- last element: key used to go forwards\r\n            {\"[\", \"]\"},\r\n            {\"F\", \"f\"}\r\n        },\r\n\r\n        -- allow other plugins to take over for certain keys\r\n        -- this is useful for plugins like flash.nvim or leap.nvim\r\n        -- keys specified here have to be also specified in the triggers section\r\n        -- this example is for flash.nvim\r\n        external = {\r\n            [\"f\"] = require(\"flash.plugins.char\").next,\r\n            [\"F\"] = require(\"flash.plugins.char\").prev,\r\n        }\r\n    }\r\n\r\n    -- racer-nvim does not automatically configure the keymaps\r\n    -- this is a design choice because this makes it more customizable\r\n    keys = {\r\n        {\";\", \"\u003ccmd\u003elua require('racer-nvim').prev()\u003cCR\u003e\", mode = {\"n\", \"x\"}, desc = \"Repeat previous\"},\r\n        {\",\", \"\u003ccmd\u003elua require('racer-nvim').next()\u003cCR\u003e\", mode = {\"n\", \"x\"}, desc = \"Repeat next\"},\r\n    }\r\n}\r\n```\r\n\r\nDefaults:\r\n```lua\r\n{\r\n    triggers = {\r\n        {\"[\", \"]\"}\r\n    },\r\n    external = {}\r\n}\r\n```\r\n\r\n## Usage\r\n\r\n1. Type a sequence starting with a trigger character (default: `[` or `]`)\r\n2. Use the keymaps from your config to repeat the motion forwards or backwards\r\n\r\n\r\n## How It Works\r\n\r\n1. When you type a sequence starting with a trigger character, racer-nvim records it\r\n2. When you call `next()` or `prev()`, it replaces the first character with its corresponding pair (the one in the right direction)\r\nand executes the new sequence\r\n3. If an external function is defined for a trigger, it will be called instead\r\n\r\n\r\nContributions are welcome! Feel free to open issues or submit pull requests.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheLazyCat00%2Fracer-nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheLazyCat00%2Fracer-nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheLazyCat00%2Fracer-nvim/lists"}