Add default neovim lsp keymaps
Author: asadzmanCreated Apr 26, 2026Updated Jul 29, 2026
Is your feature request related to a problem? Please describe. I would like default neovim lsp commands to work ootb. The gr* commands. Context, nvim-lsp-defaults
Describe the solution you'd like Include the keymaps by default.
Describe alternatives you've considered I can for now add these keymaps in settings.json.
"vim.normalModeKeyBindingsNonRecursive": [
{ "before": [ "g", "r", "a" ], "commands": [ "editor.action.codeAction" ] },
{ "before": [ "g", "r", "n" ], "commands": [ "editor.action.rename" ] },
{ "before": [ "g", "r", "i" ], "commands": [ "editor.action.goToImplementation" ] },
{ "before": [ "g", "r", "x" ], "commands": [ "codelens.showLensesInCurrentLine" ] },
{ "before": [ "g", "r", "r" ], "commands": [ "editor.action.goToReferences" ] },
{ "before": [ "g", "r", "t" ], "commands": [ "editor.action.goToTypeDefinition" ] },
]Additional context
Vscodevim ships an opt-in ReplaceWithRegister plugin, which use the gr{motion}.
Proposed solution: remap ReplaceWithRegister's default keymap from gr{motion} to gR{motion}, freeing up gr for the LSP defaults above. This is a breaking change for any existing ReplaceWithRegister users relying on the gr default, but:
ReplaceWithRegisteris opt-in (not enabled by default)- Utility of lsp-default are far greater
Source: VSCodeVim/Vim