#9995·Vim

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.

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:

  • ReplaceWithRegister is opt-in (not enabled by default)
  • Utility of lsp-default are far greater