{"id":29774266,"url":"https://github.com/shahshlok/vim-coach.nvim","last_synced_at":"2025-07-27T08:03:49.902Z","repository":{"id":303858951,"uuid":"1016934607","full_name":"shahshlok/vim-coach.nvim","owner":"shahshlok","description":"Your Personal Coach","archived":false,"fork":false,"pushed_at":"2025-07-09T19:01:03.000Z","size":21,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-10T04:48:50.949Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shahshlok.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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-07-09T18:53:13.000Z","updated_at":"2025-07-10T04:21:31.000Z","dependencies_parsed_at":"2025-07-10T04:51:36.044Z","dependency_job_id":"d4d53d23-5489-449f-98f9-15a903257eee","html_url":"https://github.com/shahshlok/vim-coach.nvim","commit_stats":null,"previous_names":["shahshlok/vim-coach.nvim"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shahshlok/vim-coach.nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahshlok%2Fvim-coach.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahshlok%2Fvim-coach.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahshlok%2Fvim-coach.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahshlok%2Fvim-coach.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shahshlok","download_url":"https://codeload.github.com/shahshlok/vim-coach.nvim/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shahshlok%2Fvim-coach.nvim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267327534,"owners_count":24069442,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"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":[],"created_at":"2025-07-27T08:01:49.003Z","updated_at":"2025-07-27T08:03:49.896Z","avatar_url":"https://github.com/shahshlok.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# 🎯 vim-coach.nvim\n\n\u003e **Your personal Vim coach - A comprehensive, beginner-friendly command reference for Neovim**\n\nA Neovim plugin that provides an interactive, searchable reference for all Vim commands with detailed explanations, beginner tips, and context-aware guidance. Perfect for absolute beginners who want to master Vim efficiently.\n\n![Neovim](https://img.shields.io/badge/NeoVim-%2357A143.svg?\u0026style=for-the-badge\u0026logo=neovim\u0026logoColor=white)\n![Lua](https://img.shields.io/badge/lua-%232C2D72.svg?style=for-the-badge\u0026logo=lua\u0026logoColor=white)\n![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)\n\n## ✨ Features\n\n- 🔍 **Fuzzy searchable** - Find any command instantly with modern snacks.picker interface\n- 📚 **120+ commands** - Comprehensive coverage of Vim motions, editing, visual mode, and plugins\n- 🎓 **Beginner-focused** - Detailed explanations with \"when to use\" guidance\n- 🌐 **Context-aware** - Different explanations for file vs explorer vs git contexts\n- 💡 **Coaching tips** - Learn WHY and WHEN to use each command\n- 📋 **Copy keybinds** - Press Enter or Ctrl+Y to copy commands to clipboard\n- 📱 **Modern UI** - Clean interface with text wrapping and enhanced preview\n- 🎯 **Categorized** - Browse by command type (motions, editing, visual, plugins)\n\n## 🎪 Demo\n\n```\n\u003cleader\u003e? → Opens comprehensive command search\n\u003cleader\u003ehm → Motion commands (h,j,k,l,w,b,f,etc.)\n\u003cleader\u003ehe → Editing commands (i,a,d,c,y,p,etc.)\n\u003cleader\u003ehv → Visual mode commands\n\u003cleader\u003ehp → Plugin-specific commands\n```\n\n## 📦 Installation\n\n### [lazy.nvim](https://github.com/folke/lazy.nvim) (Recommended)\n\n```lua\n{\n  \"shahshlok/vim-coach.nvim\",\n  dependencies = {\n    \"folke/snacks.nvim\",\n  },\n  config = function()\n    require(\"vim-coach\").setup()\n  end,\n  keys = {\n    { \"\u003cleader\u003e?\", \"\u003ccmd\u003eVimCoach\u003ccr\u003e\", desc = \"Vim Coach\" },\n  },\n}\n```\n\n### [packer.nvim](https://github.com/wbthomason/packer.nvim)\n\n```lua\nuse {\n  \"shahshlok/vim-coach.nvim\",\n  requires = {\n    \"folke/snacks.nvim\",\n  },\n  config = function()\n    require(\"vim-coach\").setup()\n  end\n}\n```\n\n### [vim-plug](https://github.com/junegunn/vim-plug)\n\n```vim\nPlug 'folke/snacks.nvim'\nPlug 'shahshlok/vim-coach.nvim'\n\n\" In your init.lua or init.vim:\nlua require('vim-coach').setup()\n```\n\n## 🚀 Usage\n\n### Commands\n\n| Command | Description |\n|---------|-------------|\n| `:VimCoach` | Open all commands |\n| `:VimCoach motions` | Motion commands only |\n| `:VimCoach editing` | Editing commands only |\n| `:VimCoach visual` | Visual mode commands |\n| `:VimCoach plugins` | Plugin commands |\n| `:Coach` | Alias for `:VimCoach` |\n\n### Default Keybindings\n\n| Key | Command | Description |\n|-----|---------|-------------|\n| `\u003cleader\u003e?` | `:VimCoach` | Open comprehensive help |\n| `\u003cleader\u003ehm` | `:VimCoach motions` | Motion commands |\n| `\u003cleader\u003ehe` | `:VimCoach editing` | Editing commands |\n| `\u003cleader\u003ehv` | `:VimCoach visual` | Visual mode commands |\n| `\u003cleader\u003ehp` | `:VimCoach plugins` | Plugin commands |\n| `\u003cleader\u003ehh` | `:VimCoach all` | All commands |\n\n### In the Picker\n\n| Key | Action |\n|-----|--------|\n| `Enter` | Copy keybind to clipboard |\n| `Ctrl+Y` | Copy keybind to clipboard |\n| `Esc` | Close picker |\n\n## ⚙️ Configuration\n\n```lua\nrequire(\"vim-coach\").setup({\n  -- Disable default keymaps\n  -- Set vim.g.vim_coach_no_default_keymaps = 1 before setup\n  \n  window = {\n    border = \"rounded\",\n    title_pos = \"center\",\n  },\n  keymaps = {\n    copy_keymap = \"\u003cC-y\u003e\",\n    close = \"\u003cEsc\u003e\",\n  },\n})\n```\n\n### Disable Default Keymaps\n\nIf you want to set your own keymaps:\n\n```lua\nvim.g.vim_coach_no_default_keymaps = 1\nrequire(\"vim-coach\").setup()\n\n-- Set your own keymaps\nvim.keymap.set('n', '\u003cF1\u003e', '\u003ccmd\u003eVimCoach\u003ccr\u003e', { desc = 'Vim Coach' })\n```\n\n## 🎯 What Makes This Different?\n\nUnlike other cheatsheet plugins, vim-coach.nvim provides:\n\n### 📖 Comprehensive Explanations\n```\nDelete Line (dd)\n├─ What: Deletes entire current line  \n├─ When: Removing code lines, empty lines\n├─ Tip: Cursor can be anywhere on the line\n├─ Context: In file: removes code | In explorer: may delete files\n└─ Examples: dd, 2dd (delete 2 lines)\n```\n\n### 🧠 Beginner Coaching\n- **WHY** use each command\n- **WHEN** it's most effective  \n- **WHERE** it works (file vs explorer context)\n- **HOW** it differs from similar commands\n\n### 🔍 Smart Search\n- Search by command name: \"delete line\"\n- Search by keybind: \"dd\"\n- Search by purpose: \"remove text\"\n- Fuzzy matching finds everything\n\n## 📚 Command Categories\n\n| Category | Count | Description |\n|----------|-------|-------------|\n| **Motions** | 20+ | Movement commands (h,j,k,l,w,b,f,etc.) |\n| **Editing** | 30+ | Text manipulation (i,a,d,c,y,p,etc.) |\n| **Visual** | 25+ | Selection and visual mode operations |\n| **Plugins** | 25+ | Common plugin commands (telescope, git, etc.) |\n\n## 🛠️ Requirements\n\n- Neovim \u003e= 0.7\n- [snacks.nvim](https://github.com/folke/snacks.nvim) (with picker support)\n\n## 🤝 Contributing\n\nWe welcome contributions! Here's how you can help:\n\n### Adding New Commands\n\n1. Edit the appropriate file in `lua/vim-coach/commands/`\n2. Follow the existing format:\n\n```lua\n{\n  name = \"Command Name\",\n  keybind = \"key\",\n  modes = {\"n\", \"v\"},\n  explanation = \"What the command does\",\n  beginner_tip = \"Helpful tip for beginners\", \n  when_to_use = \"When this command is most useful\",\n  context_notes = {\n    file = \"Behavior in files\",\n    explorer = \"Behavior in explorers\",\n  },\n  examples = {\"example1\", \"example2\"}\n}\n```\n\n### Reporting Issues\n\n- 🐛 Found a bug? [Open an issue](https://github.com/your-username/vim-coach.nvim/issues)\n- 💡 Have a suggestion? [Start a discussion](https://github.com/your-username/vim-coach.nvim/discussions)\n- 📝 Missing a command? [Request it](https://github.com/your-username/vim-coach.nvim/issues)\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with [snacks.nvim](https://github.com/folke/snacks.nvim)\n- Inspired by the need for better Vim learning resources\n- Created for the Neovim community\n\n## ⭐ Show Your Support\n\nIf this plugin helps you learn Vim, please give it a star! ⭐\n\n---\n\n**Happy Vimming!** 🎉\n\n*\"The best way to learn Vim is with a good coach by your side.\"*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahshlok%2Fvim-coach.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshahshlok%2Fvim-coach.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshahshlok%2Fvim-coach.nvim/lists"}