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
VSCode
look and feel likeNeovim
. This is an attempt to create a simple productive workflow inVSCode
that's similar to myNeovim
setup.
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-neovim
is the only essential plugin required for this setup.whichkey
andharpoon
are just needed for some quality of life improvements. You can setup similar keybinds withoutwhichkey
extension 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.