This repository contains my personal VSCode settings and keybindings for integrating Neovim with VSCode using the vscode-neovim extension, along with harpoon and which-key for some quality of life improvements. It's work in progress so most keymaps may not work properly as I haven't tested them properly. I just created logical keymaps using the command id found in keyboard shortcuts but have only used what I currently need.
This setup is for those who:
- Use Neovim personally but prefer VSCode for professional collaboration.
- Want to replicate Neovim-like keybindings in VSCode without sacrificing its default behavior.
- Prefer minimal UI customization to keep VSCode familiar for teams.
Note: This is not a VSCode setup that's heavily customized to be like neovim. Honestly, I don't see a point in trying to make
VSCodelook and feel likeNeovim. This is an attempt to create a simple productive workflow inVSCodethat's similar to myNeovimsetup.
I just started using Neovim (with LazyVim) mostly for personal work or projects, but VSCode is more common in workplace settings, so I still prefer using VScode for professional collaboration. The insert mode is basically just default VSCode, so anybody can use it like they usually do while I am able to have familiar neovim like environment that works just fine.
To fully utilize this setup, install the following extensions:
- VSCode Neovim - Enables Neovim as the backend for VSCode.
- VSpaceCode - Which Key - Provides a popup displaying available keybindings.
- vscode-harpoon - A vscode extension inspired by the neovim plugin Harpoon created by The Primeagen
Note:
vscode-neovimis the only essential plugin required for this setup.whichkeyandharpoonare just needed for some quality of life improvements. You can setup similar keybinds withoutwhichkeyextension as well.
- Install Neovim and ensure it is available in your system's PATH.
- Install VSCode and the required extensions listed above.
- Apply the settings and keybindings to your VSCode configuration.
I use lazyvim extras vscode extension that is also recommended in the vscode-neovim official github to use neovim specific plugins that doesn't interfere with default VSCode. It's not perfect but for my use-case it works just fine. You can take a look at my neovim config as well.

