On Linux with the vscodevim Vim plugin, the `CTRL+R` shortcut to redo the last undo does not work, because `CTRL+R` is used for search & replace. To make redo in Vim mode work, edit the "when" configuration for **Replace** in the VS Code Keyboard Shortcuts to be: ``` editorFocus && !vim.active || editorIsOpen && !vim.active ``` The same issue happens with `CTRL+D` to move down half a page. Again, setting `!vim.active` resolves the issue: ``` editorTextFocus && !editorHasSelection && !editorReadonly && !vim.active ``` | Shortcut | Description | | -------------------- | --------------------------------------- | | **BASICS** | **BASICS** | | CTRL-SHIFT-P | Show all commands | | CTRL-K, CTRL-S | Show all keyboard shortcuts | | **NAVIGATION** | **NAVIGATION** | | CTRL-P | Go to file | | CTRL-G | Go to line | | CTRL-F10 | Go to definition | | CTRL-F12 | Go to implementation | | CTRL-SHIFT-F | Search complete project | | CTRL-Home/End | Go to BOF/EOF | | **VIEW** **MODE** | **VIEW** **MODE** | | CTRL-\\ | Split editor horizontally or vertically | | CTRL-1\|2\|3\|... | Change focus to view 1, 2, 3, ... | | CTRL-K, CTRL-<arrow> | Move focus other view | | CTRL-\` | Toggle terminal | | CTRL-K, Z | Toggle Zen mode | | **EDITING** | **EDITING** | | CTRL-D | Find and add next match for selection | | CTRL-/ | Toggle line comment | | CTRL-H | Find and replace | | CTRL-SHIFT-K | Delete current line | | CTRL-{\|} | Code folding | | **CODING** | **CODING** | | CTRL-SHIFT-Space | Trigger parameter hints | | CTRL-SHIFT-F10 | Peek at definition | | CTRL-SHIFT-F12 | Peek at implementation |