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 |