{"id":50094768,"url":"https://github.com/bhaveshsinghal95182/vim-interactive-tutor","last_synced_at":"2026-05-23T02:35:38.699Z","repository":{"id":330317749,"uuid":"1122379106","full_name":"bhaveshsinghal95182/vim-interactive-tutor","owner":"bhaveshsinghal95182","description":"VimInteractive is a beautiful, web-based interactive Vim tutorial application that recreates and enhances the classic vimtutor experience. It's designed to help beginners learn Vim through hands-on practice with immediate visual feedback, all wrapped in a polished Gruvbox dark theme aesthetic.","archived":false,"fork":false,"pushed_at":"2025-12-25T03:48:16.000Z","size":3430,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-26T07:14:31.563Z","etag":null,"topics":["neovim","neovim-colorscheme","react","vim","vimtutor","vite"],"latest_commit_sha":null,"homepage":"https://vim-interactive-tutor.vercel.app","language":"TypeScript","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/bhaveshsinghal95182.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-24T15:50:31.000Z","updated_at":"2025-12-25T03:48:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bhaveshsinghal95182/vim-interactive-tutor","commit_stats":null,"previous_names":["bhaveshsinghal95182/vim-interactive-tutor"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bhaveshsinghal95182/vim-interactive-tutor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhaveshsinghal95182%2Fvim-interactive-tutor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhaveshsinghal95182%2Fvim-interactive-tutor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhaveshsinghal95182%2Fvim-interactive-tutor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhaveshsinghal95182%2Fvim-interactive-tutor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhaveshsinghal95182","download_url":"https://codeload.github.com/bhaveshsinghal95182/vim-interactive-tutor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhaveshsinghal95182%2Fvim-interactive-tutor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33380804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T01:21:08.577Z","status":"online","status_checked_at":"2026-05-23T02:00:05.530Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["neovim","neovim-colorscheme","react","vim","vimtutor","vite"],"created_at":"2026-05-23T02:35:37.577Z","updated_at":"2026-05-23T02:35:38.688Z","avatar_url":"https://github.com/bhaveshsinghal95182.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VimInteractive\n\nA web-based interactive Vim tutorial that brings the classic `vimtutor` experience to your browser. Learn Vim through hands-on practice with real-time visual feedback, wrapped in a clean Gruvbox dark theme.\n\n![License](https://img.shields.io/badge/license-MIT-green)\n![React](https://img.shields.io/badge/React-19-61dafb)\n\n## Table of Contents\n\n- [Features](#features)\n- [Demo](#demo)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Curriculum](#curriculum)\n- [Vim Commands Supported](#vim-commands-supported)\n- [Tech Stack](#tech-stack)\n- [Roadmap](#roadmap)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n**Comprehensive Curriculum**  \n24 interactive lessons organized across 7 levels, progressing from basic cursor movement to advanced Vim features. Each lesson includes clear instructions, a specific task, a visual target showing the expected result, hints, and automatic completion detection.\n\n**Full Vim Emulation**  \nSupports Normal, Insert, Visual, Visual-Line, Command, and Replace modes with authentic Vim behavior.\n\n**Progress Tracking**  \nYour progress saves automatically to localStorage. Pick up where you left off, see visual checkmarks for completed lessons, and unlock lessons progressively as you advance.\n\n**Virtual Shell Commands**  \nPractice with simulated shell commands like `:w`, `:!ls`, `:!pwd`, `:!date`, `:set`, and `:help`.\n\n## Demo\n\nTry it out at: [https://vim-interactive-tutor.vercel.app](https://vim-interactive-tutor.vercel.app)\n\n### Preview\n\nhttps://vim-interactive-tutor.vercel.app/vim-interactive-tutor-1766591938715.mp4\n\n## Installation\n\nMake sure you have [Node.js](https://nodejs.org/) (v18 or higher) installed.\n\n```bash\n# Clone the repository\ngit clone https://github.com/bhaveshsinghal95182/vim-interactive-tutor.git\n\n# Navigate to the project directory\ncd vim-interactive-tutor\n\n# Install dependencies\npnpm install\n# or\nnpm install\n\n# Start the development server\npnpm dev\n# or\nnpm run dev\n```\n\nOpen [http://localhost:8080](http://localhost:8080) in your browser.\n\n## Usage\n\n1. Start with Level 1, Lesson 1\n2. Read the instructions in the right panel\n3. Complete the task in the editor using Vim commands\n4. The lesson auto-completes when you match the target\n5. Progress to the next lesson\n\nThe keyboard hint panel (toggle with `?`) shows common commands if you get stuck.\n\n## Curriculum\n\n| Level | Focus Area |\n|-------|------------|\n| Level 1 | Basics - Navigation, modes, quitting |\n| Level 2 | Editing - Insert, delete, undo |\n| Level 3 | Motions - Word movements, line jumps |\n| Level 4 | Operators - Delete, change, yank combos |\n| Level 5 | Search - Find, replace, patterns |\n| Level 6 | Visual Mode - Selection and operations |\n| Level 7 | Advanced - Macros, settings, customization |\n\n## Vim Commands Supported\n\n| Category | Commands |\n|----------|----------|\n| Modes | Normal, Insert, Visual, Visual-Line, Command, Replace |\n| Cursor Movement | `h`, `j`, `k`, `l`, `w`, `b`, `e`, `0`, `$`, `gg`, `G` |\n| Operators | `d` (delete), `y` (yank), `c` (change), `r` (replace) |\n| Put/Paste | `p` (put after), `P` (put before) |\n| Undo/Redo | `u` (undo), `Ctrl-r` (redo) |\n| Search | `/pattern`, `?pattern`, `n`, `N` |\n| Counts | Number prefixes (e.g., `3w`, `5j`, `2dd`) |\n\n## Tech Stack\n\n- **React 19** with TypeScript\n- **Vite** for development and builds\n- **Tailwind CSS v3** with custom Gruvbox theme\n- **shadcn/ui** component library\n- **Radix UI** primitives\n\nNo backend required. Everything runs client-side.\n\n## Roadmap\n\n- [ ] Welcome screen for first-time users\n- [ ] Visual highlighting for selected text\n- [ ] Progress dashboard with statistics\n- [ ] Completion certificate generation\n\n## Contributing\n\nContributions are welcome. Here's how you can help:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/your-feature`)\n3. Commit your changes (`git commit -m 'Add some feature'`)\n4. Push to the branch (`git push origin feature/your-feature`)\n5. Open a Pull Request\n\nPlease make sure your code follows the existing style and includes appropriate tests.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\nBuilt by [Bhavesh Singhal](https://github.com/bhaveshsinghal95182)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhaveshsinghal95182%2Fvim-interactive-tutor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhaveshsinghal95182%2Fvim-interactive-tutor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhaveshsinghal95182%2Fvim-interactive-tutor/lists"}