# theprimeagen/vim-be-good

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/theprimeagen-vim-be-good).**

4,367 stars · 176 forks · Lua

## Links

- GitHub: https://github.com/ThePrimeagen/vim-be-good
- awesome-repositories: https://awesome-repositories.com/repository/theprimeagen-vim-be-good.md

## Description

Vim-be-good is a Neovim plugin designed to help users improve their Vim navigation and editing skills through interactive practice exercises. It provides a structured environment for training muscle memory and mastering core Vim motions and commands.

The plugin offers a series of mini-games and challenges that target specific Vim skills, such as jumping between lines, deleting text, and using different movement keys. Each exercise presents a task and tracks the user's accuracy and speed, allowing for focused, repetitive practice to build proficiency.

The project is written in Lua and integrates directly into Neovim, making it easy to install and use within an existing editor setup. Its documentation covers installation instructions and explains how to access and configure the various training modes.

## Tags

### Education & Learning Resources

- [Muscle Memory Trainers](https://awesome-repositories.com/f/education-learning-resources/muscle-memory-trainers.md) — Provides interactive games that challenge navigation and editing tasks to build muscle memory for Vim. ([source](https://github.com/ThePrimeagen/vim-be-good#readme))
- [Motion Trainers](https://awesome-repositories.com/f/education-learning-resources/text-editor-tutorials/motion-trainers.md) — Provides an interactive tool for practicing navigation and text manipulation patterns within a real buffer.
- [Gamified Tutorials](https://awesome-repositories.com/f/education-learning-resources/text-editor-tutorials/vim-guides/gamified-tutorials.md) — Implements a series of gamified challenges to teach Vim motions and editing commands.
- [Reflex Training](https://awesome-repositories.com/f/education-learning-resources/text-editor-tutorials/vim-guides/reflex-training.md) — Develops automatic reflexes for text editing by practicing repetitive navigation patterns.

### Part of an Awesome List

- [Vim Learning](https://awesome-repositories.com/f/awesome-lists/devtools/vim-learning.md) — Offers interactive training for mastering Vim navigation and editing commands.
- [Automation And Scripting](https://awesome-repositories.com/f/awesome-lists/devtools/automation-and-scripting.md) — Employs a set of scripts to automate game state management and level progression.

### Data & Databases

- [Dockerized Development Environments](https://awesome-repositories.com/f/data-databases/mongodb-application-development/dockerized-development-environments.md) — Ships a Dockerized setup to quickly launch a pre-configured Vim environment without local installation.

### Development Tools & Productivity

- [Containerized and Isolated Workspaces](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/containerized-isolated-workspaces.md) — Provides a containerized environment to isolate the editor and its dependencies from the host system.
- [Vimscript Automations](https://awesome-repositories.com/f/development-tools-productivity/vimscript-automations.md) — Uses custom Vimscript commands to automate level loading and workspace resets.

### DevOps & Infrastructure

- [Docker Container Deployments](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments.md) — Packages the application and dependencies into Docker images for easy deployment and execution. ([source](https://github.com/ThePrimeagen/vim-be-good/blob/master/README.md))
- [Pre-Configured Environments](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/pre-configured-environments.md) — Provides a ready-to-run Docker container with a consistent editor version for exercises.

### Game Development

- [Game Loops](https://awesome-repositories.com/f/game-development/engine-architecture/game-loops.md) — Uses a game loop to continuously monitor the editor state and validate user keystrokes for challenges.
- [Editor-Integrated Loops](https://awesome-repositories.com/f/game-development/engine-architecture/game-loops/editor-integrated-loops.md) — Implements a game loop that monitors editor state and validates key sequences for timed challenges.
