neovim/CHEATSHEET.md

3.1 KiB

Neovim command and keybind cheat sheet

Some of these are plain Vim commands, others are specific to Neovim.

BASICS

  • Space leader key
  • :so Source file
  • :checkhealth check base and all plugins
  • :checkhealth <pluginname> check for problems of a plugin
  • :verbose set expandtab? check where expandtab has been set last

Lazy

  • :Lazy show package manager UI
  • :Lazy restore revert plugins to the state reflected in lazy-lock.json

Mason

  • :Mason show Mason UI

Treesitter

  • :TSUpdate update all parsers
  • :TSModuleInfo show installed parsers

LSP

  • :LspInfo show currently attached LSP client details

NAVIGATION

Tabs

Use buffers in situations where

  • Ctrl+t open a file in e.g. a Telescope finder in a new tab
  • gt or gT switch between open tabs (forward/reverse direction)

Window/split

  • 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

Buffer

  • 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

Code

  • 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+d scroll down 1/2 page while keeping the cursor centered
  • Ctrl+u scroll up 1/2 page while keeping the cursor centered

Telescope windows

  • 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

EDITING

Code editing

  • leader+i re-indent whole file
  • leader+o re-format whole file or visual with conform.nvim
  • i insert mode at cursor position
  • I insert mode at the beginning of the line
  • a insert mode one character after the current one
  • A insert mode at the end of the 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 (yank) the current line
  • p paste yanked line below
  • P paste yanked line above
  • "3p redo (put) e.g. your third last delete source

Visual mode

  • v at cursor position
  • V line mode
  • Ctrl+v block mode
  • leader+fg search text in files (also searches for text under cursor)
  • leader+ff search files (respects .gitignore)
  • leader+e file browser (disregards .gitignore)
  • leader+fo recently opened files