{"id":26180008,"url":"https://github.com/jellydn/learn-vim-with-vscode","last_synced_at":"2025-04-14T22:43:30.056Z","repository":{"id":176291376,"uuid":"655162989","full_name":"jellydn/learn-vim-with-vscode","owner":"jellydn","description":"This project aims to guide you through setting up and learning Vim within Visual Studio Code using the VSCodeVim and VSCode-Neovim extensions.","archived":false,"fork":false,"pushed_at":"2024-06-30T01:02:18.000Z","size":10,"stargazers_count":13,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T10:50:30.890Z","etag":null,"topics":["lazyvim","nvim","vim","vscode"],"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/jellydn.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},"funding":{"github":["jellydn"],"ko_fi":"dunghd","buy_me_a_coffee":"dunghd","polar":"jellydn"}},"created_at":"2023-06-18T04:45:25.000Z","updated_at":"2025-02-01T19:00:18.000Z","dependencies_parsed_at":"2023-09-30T04:09:17.351Z","dependency_job_id":null,"html_url":"https://github.com/jellydn/learn-vim-with-vscode","commit_stats":null,"previous_names":["jellydn/learn-vim-with-vscode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Flearn-vim-with-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Flearn-vim-with-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Flearn-vim-with-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Flearn-vim-with-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jellydn","download_url":"https://codeload.github.com/jellydn/learn-vim-with-vscode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975305,"owners_count":21192197,"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":["lazyvim","nvim","vim","vscode"],"created_at":"2025-03-11T21:54:08.720Z","updated_at":"2025-04-14T22:43:30.038Z","avatar_url":"https://github.com/jellydn.png","language":"Lua","funding_links":["https://github.com/sponsors/jellydn","https://ko-fi.com/dunghd","https://buymeacoffee.com/dunghd","https://polar.sh/jellydn"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eWelcome to learn-vim-with-vscode 👋\u003c/h1\u003e\n\u003cp\u003e\nThis project aims to guide you through setting up and learning Vim within Visual Studio Code using the VSCodeVim and VSCode-Neovim extensions.\n\u003c/p\u003e\n\n[![IT Man - Tip #38 - Learn Vim with VSCode [Vietnamese]](https://i.ytimg.com/vi/yTTPRm0ACl0/hqdefault.jpg)](https://www.youtube.com/watch?v=yTTPRm0ACl0)\n\n## Setup\n\n### VSCodeVim\n\nVSCodeVim is a Vim emulator for Visual Studio Code.\n\n1. Install the extension from the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim)\n2. After installation, you can modify settings in your settings.json file to customize the Vim experience. An example configuration can be found [here](https://github.com/VSCodeVim/Vim).\n\n### VSCode-Neovim\n\nVSCode-Neovim is an extension that integrates Neovim into Visual Studio Code for advanced Vim features.\n\n1. Install Neovim on your system. The installation guide can be found [here](https://github.com/neovim/neovim/wiki/Installing-Neovim).\n2. Install the VSCode-Neovim extension from the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim)\n3. After installation, specify the path to your Neovim executable in your settings.json file.\n4. You can also customize keybindings in your keybindings.json file, and use a lua file for additional customization. Example configurations can be found [here](https://github.com/vscode-neovim/vscode-neovim).\n\n## Usage\n\nTo begin using Vim commands in Visual Studio Code, just open a file and start editing. Remember that the modes (insert, normal, visual) are a key part of Vim, and if you're not familiar with them, you should look into a [Vim tutorial](https://www.openvim.com/).\n\n## File Reference\n\nThe repository includes several configuration files that are needed to set up and customize VSCodeVim and VSCode-Neovim:\n\n- [vim-settings.json](./vim-settings.json): Contains settings for the VSCodeVim extension. Copy its content to your VS Code `settings.json` file.\n- [keybindings.json](./keybindings.json): Contains custom keybindings for the VSCode-Neovim extension. Copy its content to your VS Code `keybindings.json` file.\n- [nvim-settings.json](./nvim-settings.json): Contains settings for the VSCode-Neovim extension. Copy its content to your VS Code `settings.json` file.\n- [vs-code.lua](./vs-code.lua): Lua configuration file for Neovim when used with the VSCode-Neovim extension. You need to put this in your Neovim configuration directory.\n\nPlease make sure to adjust the file paths according to your system configuration and needs.\n\n## Comparison: VSCodeVim vs. VSCode-Neovim\n\nHere are some pros and cons of using VSCodeVim versus VSCode-Neovim:\n\n### VSCodeVim\n\nPros:\n\n- More lightweight.\n- Doesn't require installing and integrating an external tool (Neovim).\n- Simpler setup and configuration.\n- Generally enough for basic Vim keybinding emulation.\n\nCons:\n\n- Might not support all advanced Vim features.\n\n### VSCode-Neovim\n\nPros:\n\n- Full Vim emulation with support for advanced Vim features.\n- Can use Neovim configurations and plugins.\n\nCons:\n\n- Requires installing Neovim on your system and setting up the integration in VS Code.\n- More complex configuration.\n\nRemember to choose the extension that best suits your needs and level of comfort with Vim and/or Neovim.\n\n## Receipt\n\n### LazyVim in VSCode\n\nLazyVim is a powerful and lightweight Neovim configuration. With VSCode-Neovim, you can also utilize LazyVim inside VSCode for an optimized Vim experience.\n\n1. Install LazyVim following the instruction on [LazyVim's website](https://www.lazyvim.org)\n2. Update your `vs-code.lua` based on the configuration provided [here](https://www.lazyvim.org/plugins/extras/vscode)\n3. Additional tips and configuration examples can be found [here](https://www.lazyvim.org/configuration/tips)\n\n## Video Tutorials\n\nHere are some video tutorials that can help you get started:\n\n[![IT Man - Talk #35 #Neovim IDE for Web Developer [Vietnamese]](https://i.ytimg.com/vi/3EbgMJ-RcWY/mqdefault.jpg)](https://www.youtube.com/watch?v=3EbgMJ-RcWY)\n\n[![IT Man - Talk #33 NeoVim as IDE [Vietnamese]](https://i.ytimg.com/vi/dFi8CzvqkNE/mqdefault.jpg)](https://www.youtube.com/watch?v=dFi8CzvqkNE)\n\n## Author\n\n- Website: https://productsway.com/\n- Twitter: [@jellydn](https://twitter.com/jellydn)\n- Github: [@jellydn](https://github.com/jellydn)\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Flearn-vim-with-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjellydn%2Flearn-vim-with-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Flearn-vim-with-vscode/lists"}