2 août 2024
Nvim shortcuts
Here are the shortcuts I use with my Neovim config.
| label | mode | shortcut | command | 
|---|---|---|---|
| Search | n | / | |
| Reach previous / next paragraph (or function/bloc) | n | {/} | |
| Insert before cursor / line | n | ì/I | |
| Insert (add) before cursor / line | n | a/A | |
| Insert (open) new line after / before | n | o/O | |
| Insert (add) at end of word | n | ea | |
| Left | n, v | h | |
| Down | n, v | j | |
| Up | n, v | k | |
| Down (multilines) | n | gj | |
| Up (multilines) | n | gk | |
| Right | n, v | l | |
| Backspace | i | <C>-h | |
| Backspace word | i | <C>-w | |
| Left pane | n, v | <C>-h | |
| Down pane | n, v | <C>-j | |
| Up pane | n, v | <C>-k | |
| Right pane | n, v | <C>-l | |
| Go to associate char | n | % | |
| Go to first/last line | n | gg/G | |
| copy to clipboard | v | <leader> y | |
| scroll down | n | <crtl> b | |
| scroll up | n | <crtl> f | |
| show autocomplete | i | <crtl> espace | |
| confirm autocomplete | i | <return> | |
| scroll documentation back | i | <crtl> b | |
| scroll documentation fw | i | <crtl> f | |
| autocomplete abord | i | <crtl> e | |
| Lists LSP references for word under the cursor | n | gr | <cmd>Telescope lsp_references<CR> | 
| Displays hover information about the symbol under the cursor | n | K | vim.lsp.buf.hover | 
| Jumps to the declaration of the symbol under the cursor | n | gD | vim.lsp.buf.declaration | 
| Goto the definition of the word under the cursor, if there’s only one, otherwise show all options in Telescope | n | gd | <cmd>Telescope lsp_definitions<CR> | 
| Jumps to the definition of the type of the symbol under the cursor | n | td | vim.lsp.buf.type_definition | 
| Goto the implementation of the word under the cursor if there’s only one, otherwise show all options in Telescope | n | gi | <cmd>Telescope lsp_implementations<CR> | 
| Displays signature information about the symbol under the cursor in a floating window | n | <C-k> | vim.lsp.buf.signature_help | 
| Add the folder at path to the workspace folders. If {path}is not provided, the user will be prompted for a path using input() | n | <leader>wa | vim.lsp.buf.add_workspace_folder | 
| Remove the folder at path from the workspace folders. If {path}is not provided, the user will be prompted for a path using input() | n | <leader>wr | vim.lsp.buf.remove_workspace_folder | 
| List workspace folders | n | <leader>wl | vim.lsp.buf.list_workspace_folders() | 
| Lists Diagnostics for current buffer | n | <leader>D | <cmd>Telescope diagnostics bufnr=0<CR> | 
| Show diagnostics in a floating window | n | <leader>d | vim.diagnostic.open_float | 
| Go to previous error | n | [d | vim.diagnostic.goto_prev | 
| Got to next error | n | ]d | vim.diagnostic.goto_next | 
| Add buffer diagnostics to the location list | n | <leader>l | vim.diagnostic.setloclist | 
| Selects a code action available at the current cursor position | n, v | ca | vim.lsp.buf.code_action | 
| restart lsp | n | <leader>rs | :LspRestart<CR> | 
| Renames all references to the symbol under the cursor (rename functions) | n | <leader>rn | vim.lsp.buf.rename | 
| Open Neotree filesystem on the left | n | <C-n> | :Neotree filesystem reveal left<CR> | 
| Close Neotree | n | <leader>q | :Neotree close<CR> | 
| Show open buffers on a float | n | <leader>bf | :Neotree buffers reveal float<CR> | 
| Show Git status | n | <leader>gst | :Neotree git_status reveal float<CR> | 
| Git add all (gst reveal) | n | A | git_add_all | 
| Git unstage (gst reveal) | n | gu | git_unstage_file | 
| Git add file (gst reveal) | n | ga | git_add_file | 
| git revert file (gst reveal) | n | gr | git_revert_file | 
| Git commit (gst reveal) | n | gc | git_commit | 
| Git push (gst reveal) | n | gp | git_push | 
| Git commit and push (gst reveal) | n | gg | git_commit_and_push | 
| Find files | n | <leader>p | builtin.find_files | 
| Search (in Neotree pane) | n | fg | |
| Live Grep | n | <leader>fg | builtin.live_grep | 
| Autoindent | n | = | |
| Show hidden files (neotree) | n | H | |
| Split vertically | n | <C-w> v | :vsplit | 
| Split horizontally | n | <C-w> s | :split | 
| Increase/decrease width | n | <C-w>+SHIFT + >/< | |
| Increase height | n | <C-w>+SHIFT + '+' | |
| Decrease height | n | <C-w>+- | 
See also :