Skip to content

Instantly share code, notes, and snippets.

@rjmacarthy
Last active June 1, 2023 10:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rjmacarthy/0881b329bdf7509422a2789aeaed2f19 to your computer and use it in GitHub Desktop.
Save rjmacarthy/0881b329bdf7509422a2789aeaed2f19 to your computer and use it in GitHub Desktop.
keyboard shortcuts for ecosse/nvim

NVim Configuration Cheat Sheet

This is a quick reference guide for NVim configuration key bindings for https://github.com/ecosse3/nvim

File Explorer

Key Bindings Description
<C - e> Open File Explorer
Backspace Back to file explorer (in editor normal mode)
g? Open commands menu
a Create new file/directory
x Cut
c Copy
y Copy name
r Rename
I Toggle git ignore files

Searching

Key Bindings Description
<C - p> Telescope git files
<S - p> Telescope live grep
s Enables lightspeed
SPC s d Search dotfiles
SPC s h Search file history
SPC s s Search history

Working with LSP

Key Bindings Description
<C - Space> or SPC c a Code action
<S - K> Show documentation under cursor
gd Go to definition
gr Go to references
]g Go to next diagnostic
[g Go to prev diagnostic
SPC c f Format document (usually ESLint/Prettier)
SPC c r Rename
SPC c q Quick fix
SPC c d Local diagnostics list
SPC c o Organize imports

Working with Git

Key Bindings Description
SPC g g Lazygit - for committing and branch change
SPC g s Telescope status
]c Go to next change hunk
[c Go to prev change hunk
SPC g d Advanced powerful diff view
SPC g m View hunk diff of a line under cursor
SPC g h r Reset changed hunk under cursor
SPC g h s Stage hunk under cursor
SPC g l c Quick check of previous commit in current buffer
SPC g w c Creates a new worktree
SPC g w w Switches to a worktree

Working with Project

Key Bindings Description
<C - e> Toggles nvim-tree file explorer
SPC p w Find word under cursor in project
SPC p f Find file under cursor in project
SPC p t Finds TODOs/NOTES in project
SPC p l Switch between projects
SPC p s Save session to load it later from Dashboard

Commenting

Key Bindings Description
gcc Create/remove comment
gc (visual) Create/remove comment
gcO Create comment line before
gco Create comment line after

Table Mode / Alignment

Key Bindings Description
ga (visual) Aligns selection based on separator (comma, semi-colon, colon etc.)
SPC t m Enables Table Mode
SPC t i C (Only when Table Mode Enabled) Insert column before
SPC t i c (Only when Table Mode Enabled) Insert column after
SPC t d c (Only when Table Mode Enabled) Delete column
SPC t d r (Only when Table Mode Enabled) Delete row
SPC t s (Only when Table Mode Enabled) Sort table alphabetically

Other Key Bindings

Key Bindings Description
<S - q> Smartly closes current buffer without breaking UI
<C - a> It is not only increases number, but switches between true/false/const/let/function/arrow function/increment dates etc.
<C - n> Finds next occurrence (like *) of word and puts multi-cursor there
<C - o> Jumps to previous cursor in jumplist
v Smartly selects next subjects of current treesitter context
za Toggle folds
zM Close all folds
zR Open all folds
zr Open all folds except imports/comments
gJ Smartly joins lines based on treesitter
gS Smartly splits lines based on treesitter
<F12> Opens/closes terminal
~ Switch function arguments smartly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment