neovim/CHEATSHEET.md
Oliver Ladner 480a5c2fff usability improvements
- add autocmds to highlight yanking and disabling line numbers in Oil
- lsp-zero: fix 'gd' command by setting 'preserve_mappings' to false
- lualine: show clock, simplify statusline, shorten mode name
- oil: decrease float window size, add 'q' hotkey to close window
- prefs: show line numbers again, disable additional mode showing
- add todo-comments.nvim
- remap: add keymap to find all TODOs/FIXME/XXX etc.
2024-03-05 21:32:07 +01:00

4.1 KiB

Neovim command and keybind cheat sheet

BASICS

  • Space leader key
  • :checkhealth [<pluginname>] check base or status
  • :verbose set expandtab? check where expandtab has been set last
  • :Lazy show package manager UI
  • :Lazy restore revert plugins to the state reflected in lazy-lock.json
  • :Mason show Mason UI
  • :TSUpdate update all treesitter parsers
  • :TSModuleInfo show installed treesitter parsers
  • :LspInfo show currently attached LSP client details
  • :ConformInfo useful to debug why a formatter times out

NAVIGATING

Tabs

  • gt or gT switch forward/reverse between tabs

Windows/splits

  • Ctrl+wq close window
  • Ctrl+ws split window horizontally
  • Ctrl+wv split window vertically
  • Ctrl+<h/j/k/l> move between split windows
  • Ctrl+w= equalize split window width and height
  • Ctrl+wr swap position of two windows
  • Ctrl+wT move active split window to new tab

Buffers

  • Space+Space shows buffers sorted by last used (via Telescope buffers)
  • :bd close current buffer
  • :bn go to next buffer
  • :bp go to previous buffer

Text

  • w move to start of next word (ignores punctuation due to remap)
  • e move to end of next word (ignores punctuation due to remap)
  • b move to start of previous word (ignores punctuation due to remap)
  • Ctrl+0 start of line
  • Ctrl+$ end of line
  • Ctrl+d scroll down 1/2 page while keeping the cursor centered
  • Ctrl+u scroll up 1/2 page while keeping the cursor centered
  • Ctrl+o jump to location you were before (e.g. after using gg)
  • Ctrl+i jump back to location you were before (after using Ctrl+o)
  • f<char> jump forward to <char>
  • F<char> jump backwards to <char>
  • ; jump to next occurence of on same line
  • , jump to previous occurence of onx same line

LSP, Code & Diagnostics

  • Ctrl+n/p scroll down/up through LSP suggestions
  • Ctrl+l accept selected suggestion
  • gd go to definition
  • gr show references of function
  • leader+qq toggle trouble.nvim quickfix list
  • leader+da go to next diagnostic (any severity)
  • leader+dw go to next diagnostic (warning severity)
  • leader+de go to next diagnostic (error severity)

Telescope

  • or Ctrl+n scroll down (next) file list
  • or Ctrl+p scroll up (previous) file list
  • Ctrl+d scroll down in preview pane
  • Ctrl+u scroll up in preview pane
  • Ctrl+/ help
  • Ctrl+v open file in vertical split
  • Ctrl+x open file in horizontal split
  • Ctrl+t open file in new tab
  • Ctrl+q send all items to quickfix list
  • Alt+q send selected items to quickfix list

Oil

  • Ctrl+d bottom of file list
  • Ctrl+u top of file list
  • Ctrl+p preview file
  • Ctrl+v open file in vertical split
  • Ctrl+x open file in horizontal split
  • Ctrl+t open file in new tab

EDITING

Code editing

  • leader+o re-format whole file or visual w/ conform.nvim
  • i insert mode at cursor position
  • I insert mode at beginning of line
  • a insert mode after the current char
  • A insert mode at end of line
  • o insert mode a line below the cursor
  • O insert mode a line above the cursor
  • s delete character and replace (substitute) it
  • cw replace the current word
  • cc replace whole line
  • C replace to the end of the line
  • yy copy the current line
  • yap "yank-around-paragraph"
  • p paste yanked line below
  • P paste yanked line above

SELECTING

Visual mode

  • v at cursor position
  • V line mode
  • Ctrl+v block mode

Code selection

  • leader+Space context-sensitive text selection w/ treesitter
  • Backspace reduce context-sensitive selection

SEARCH/OPEN

  • leader+fg search text in files (also searches for text under cursor)
  • leader+ff search files (respects .gitignore)
  • leader+e toggles Oil file explorer
  • leader+fo recently opened files
  • gf open file under cursor in a new buffer
  • gx open link under cursor in default browser
  • * search marked word