Most people learn about ten shortcuts and stop. The ones below are the ones worth the muscle memory, grouped by what they do rather than by editor.
You spend far more time finding code than typing it.
VS Code JetBrains Neovim
file by name Ctrl/Cmd+P Shift Shift :Telescope find_files
symbol in file Ctrl/Cmd+Shift+O Ctrl+F12 :Telescope lsp_document_symbols
symbol in proj Ctrl/Cmd+T Ctrl+Alt+Shift+N :Telescope lsp_workspace_symbols
go to definition F12 Ctrl+B gd
find references Shift+F12 Alt+F7 gr
back / forward Ctrl+- / Ctrl+Shift+- Ctrl+Alt+Left Ctrl+O / Ctrl+I
any command Ctrl/Cmd+Shift+P Ctrl+Shift+A :
Two of those are worth singling out. The command palette means you never need to remember a shortcut you use monthly — type what you want. And back/forward through your jump history is the shortcut people most often do not know exists, despite following definitions all day.
In VS Code, Ctrl/Cmd+D selects the next occurrence of the current selection and adds a cursor; press it repeatedly to build up a selection set, and Ctrl/Cmd+K Ctrl/Cmd+D skips one. Alt+Click places arbitrary cursors, and Shift+Alt+Down adds one directly below. JetBrains uses Alt+J for the same "next occurrence" behaviour and Alt+Shift+Click for arbitrary placement.
Neovim's equivalent is different in kind: visual block mode (Ctrl+V) then I or A to insert on every line, or :%s/old/new/gc with confirmation. And the macro is the tool with no equivalent elsewhere — qa to record into register a, do the edit once, q to stop, then 100@a to repeat it a hundred times. For an irregular transformation across many lines, that beats multi-cursor.
Alt+Up/Down in VS Code, Ctrl+Shift+Up/Down in JetBrains, ddp in vim.Shift+Alt+Down, Ctrl+D, yyp.Shift+Alt+Right in VS Code, Ctrl+W in JetBrains. Grows from word to expression to statement to block, which is far more precise than dragging.F2 everywhere, Shift+F6 in JetBrains. This is a real refactor through the language server, not find-and-replace, so it will not touch a same-named variable in another scope.Integrated terminal toggle (Ctrl+backtick in VS Code and JetBrains) and split editor (Ctrl/Cmd+\) do more for flow than any plugin. In Neovim, :vsplit plus Ctrl+W then h/j/k/l moves between windows; remapping that to Ctrl+h/j/k/l directly is the first thing most people add to their config, and it is worth doing on day one.
Every meaningful feature above — go to definition, rename, references, diagnostics, quick fix — comes from a language server, not the editor. VS Code and JetBrains ship theirs. In Neovim, install servers with mason.nvim and wire them through the built-in LSP client; the difference between a configured and unconfigured Neovim is much larger than the difference between any two editors. Bind quick fix (Ctrl/Cmd+. in VS Code, Alt+Enter in JetBrains, vim.lsp.buf.code_action in Neovim) — it is the shortcut that fixes imports, adds missing types and applies lint suggestions without you reading the message.
Format on save with a project-level formatter config, so formatting never appears in a diff or a code review. And a key repeat rate fast enough that holding a navigation key is usable — on macOS, defaults write -g InitialKeyRepeat -int 12 and KeyRepeat -int 1, then log out. Small, permanent, and you notice every day.