{"id":13413077,"url":"https://github.com/ThePrimeagen/vim-be-good","last_synced_at":"2025-03-14T19:31:17.858Z","repository":{"id":38092094,"uuid":"262700038","full_name":"ThePrimeagen/vim-be-good","owner":"ThePrimeagen","description":"vim-be-good is a nvim plugin designed to make you better at Vim Movements. ","archived":false,"fork":false,"pushed_at":"2024-05-08T11:37:02.000Z","size":354,"stargazers_count":3191,"open_issues_count":47,"forks_count":112,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-10-15T23:23:27.178Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/ThePrimeagen.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":"2020-05-10T02:51:42.000Z","updated_at":"2024-10-15T12:45:38.000Z","dependencies_parsed_at":"2024-01-03T03:34:55.295Z","dependency_job_id":"5b74cb2b-742b-4e01-8d4a-d861d45817cb","html_url":"https://github.com/ThePrimeagen/vim-be-good","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/ThePrimeagen%2Fvim-be-good","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThePrimeagen%2Fvim-be-good/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThePrimeagen%2Fvim-be-good/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThePrimeagen%2Fvim-be-good/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThePrimeagen","download_url":"https://codeload.github.com/ThePrimeagen/vim-be-good/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221498714,"owners_count":16833053,"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":"2024-07-30T20:01:33.173Z","updated_at":"2024-10-26T05:30:19.330Z","avatar_url":"https://github.com/ThePrimeagen.png","language":"Lua","funding_links":[],"categories":["Game","Lua"],"sub_categories":["Tmux"],"readme":"# vim-be-good\n\nVim be good is a plugin designed to make you better at vim by creating a game\nto practice basic movements in.\n\n## Programmed with Love and Fury\n\nand tunes https://www.youtube.com/watch?v=emOKaGi8u5U\n\n## WARNING\n\n-   The code is a heaping pile of awfulness. It was developed live on Twitch,\n    which means I did not carefully think through anything other than memes.\n-   If you wish to create your own game, look at how relative is done.\n    Everything else should be straight forward, except for the parts that are\n    not.\n\n## Difficulty\n\nThe difficulty only works on a few games for now. Still a work in progress,\nif you have any ideas, please submit them either as tickets or as a PR.\n\n## Ideas?\n\nPlease submit a ticket for your idea!!!\n\n## Options\n\n### Games - relative\n\nBy default vim be good returns random offset for game difficulty above noob, if\nyou wish to set fixed offset set `vim_be_good_delete_me_offset` to desired\nvalue.\n\n`let g:vim_be_good_delete_me_offset = 35`\n\n## Instructions are at the top of games.\n\nhere too!\n\nTo play `relative` you need to delete the line that\nsays `DELETE ME`. Use relative jumps\n\nTo play `ci{` you need to replace the contents\ninside the _first_ { or [ with bar. HINT, use ci[\nor ci{ and type bar.\n\nTo play `whackamole` you need to navigate to the character with the caret under\nit as fast as possible. Once you have reached the character, flip the\ncharacter's case to complete the round.\n\n## Installation\n\n## MUST USE NEOVIM 5.x!!!!!!\n\n1. Use your favorite plugin manager to install! Only works on Nvim, the one true\n   vim.\n\n```viml\nPlug 'ThePrimeagen/vim-be-good'\n```\n\n### Docker\n\nIf you would like, you can use docker to run the game. Doing this will\nautomatically use the correct version of neovim for you, as well as run the\ngame immediately when neovim starts.\n\n#### Stable image\n\n[This image](https://github.com/brandoncc/docker-vim-be-good/blob/master/stable/Dockerfile) always runs the version of the game that was bundled when the image\nwas built. Images are generally built within one day of the main branch\nreceiving new commits, but you won't get the new images unless you manually run\n`docker pull brandoncc/vim-be-good:stable` periodically.\n\n```bash\ndocker run -it --rm brandoncc/vim-be-good:stable\n```\n\n#### \"Latest\" image\n\n[This image](https://github.com/brandoncc/docker-vim-be-good/blob/master/latest/Dockerfile) runs `:PlugUpdate` before running neovim. This adds about one second\nto the startup time of the game. The trade-off is that you are always playing\nthe latest version of the game, as long as your machine is able to access\nGithub.com to pull it.\n\n```bash\ndocker run -it --rm brandoncc/vim-be-good:latest\n```\n\n## Playing the games.\n\nBefore doing ANYTHING at all, make sure you are in an empty file. If the file\nyou are in is not empty, VimBeGood will throw an error.\n\nOk, you are in an empty file, so first execute the following.\n\n```viml\n:VimBeGood\n```\n\nThis will echo out the available set of games. Each game can take a set of\noptions to change how it is played, the above help menu should include each game.\n\n## Future Games\n\nPlease make an issue if you have a command you wish to practice and i'll make\nit into a game!!\n\n## Issues\n\nPlease file an issue. But if you do, please run the logger first and paste in\nthe input.\n\nTo initialize the logger, add this to your vimrc\n\n```\nlet g:vim_be_good_log_file = 1\n```\n\nto get the log file executed `:echo stdpath(\"data\")` to find the path and then\ncopy paste it into the issues.\n\n## Contribute\n\n-   Fork\n-   Create a feature branch\n-   Make changes\n-   Modify the configuration to use local build:\n    `~/.config/nvim/init.vim`\n\n```\n    call plug#begin('~/.vim/plugged')\n    Plug '/tmp/vim-be-good' \" path to your vim-be-good fork\n    call plug#end()\n```\n\n    You can also just use nvim --cmd \"set rtp+=$(pwd)\" . to set your current\n    run time path\n\n-   Make PR\n\n## Live on Stream\n\nEverything you see here has been developed on stream at [ThePrimeagen](https://twitch.tv/ThePrimeagen).\nStop by and troll away. Helpful troll hints would be to complement the size of my hands.\n\nBig shout outs to PolarMutex, Brandon CC (stands for credit card) and TEEEEEEEEEJ\n@brandoncc @bryall @tjdevries\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThePrimeagen%2Fvim-be-good","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThePrimeagen%2Fvim-be-good","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThePrimeagen%2Fvim-be-good/lists"}