Home Keymaps


CandyVim Keybindings

Comma (,) is the default Leader key.

Check out the which-key menu and lua/config/keybindings.lua for most used maps.

File Explorer

Key BindingsDescription
<C - e>Open File Explorer
BackspaceBack to file explorer (in editor normal mode)
g?Open commands menu
aCreate new file/directory
yCopy name
IToggle git ignore files


Key BindingsDescription
<C - p>Telescope git files
<S - p>Telescope live grep
sEnables lightspeed
, s dSearch dotfiles
, s hSearch file history
, s sSearch history

Working with LSP:

Key BindingsDescription
<C - Space> or , c aCode action
<S - K>Show documentation under cursor
gdGo to definition
grGo to references
]gGo to next diagnostic
[gGo to prev diagnostic
, c fFormat document (usually ESLint/Prettier)
, c rRename
, c qQuick fix - when I exactly know if it will fix it
, c dLocal diagnostics list
, c oOrganize imports

Working with Git:

Key BindingsDescription
, g gLazygit - for committing and branch change
, g sTelescope status - change/search file with git changes
]cGo to next change hunk
[cGo to prev change hunk
, g dAdvanced powerful diff view with many filters for debugging code, checking previous changes etc.
, g mView hunk diff of a line under cursor
, g h rReset changed hunk under cursor - check what changed in that line and type ‘u’ to go back
, g h sStage hunk under cursor - stage specific lines and then just do a commit
, g l cQuick check of previous commit in current buffer, inside to switch preview
, g w cCreates a new worktree. Recommended directory is ../path
, g w wSwitches to a worktree. removes worktree.

Working with Project:

Key BindingsDescription
<C - e>Toggles nvim-tree file explorer
, p wFind word under cursor in project - find where component is used. Type ‘<’.
, p fFind file under cursor in project - find files which contain text under cursor.
, p tFinds TODOs/NOTES in project
, p lSwitch between projects
, p sSave session to load it later from Dashboard


Key BindingsDescription
gccCreate/remove comment
gc (visual)Create/remove comment
gcOCreate comment line before
gcoCreate comment line after

Table Mode / Alignment

Key BindingsDescription
ga (visual)Aligns selection based on separator (comma, semi-colon, colon etc.)
, t mEnables Table Mode. Do it in markdown file with some table and you will see magic
, t i C(Only when Table Mode Enabled) Insert column before
, t i c(Only when Table Mode Enabled) Insert column after
, t d c(Only when Table Mode Enabled) Delete column
, t d r(Only when Table Mode Enabled) Delete row
, t s(Only when Table Mode Enabled) Sort table alphabetically

Eye Candy

Key BindingsDescription
,GgCellular automaton
,GrMake it rain
,DaHatch Crab
,DcHatch Cat
,DdHatch Duck
,DgHatch Ghost
,DhHatch Horse
,DiHatch Chick
,DsHatch slow duck
,DtHatch Dinosaur
,DAHatch All
,DkCook Duck
,DKCook Many Ducks
,//Alpha dashboard
,GbBlackjack game
,GvPlay Vim be good
,GsPlay Sudoku
,GaHack auto typing mode
,GfHack current buffer
,GhHack fake buffer

Other VERY useful bindings

Key BindingsDescription
<S - q>Smartly closes current buffer without breaking UI
<C - a>Increase number, switch between true/false/const/let/function/arrow function/increment dates etc.
<C - n>Finds next occurrence of word and puts multi-cursor there. Read more
<C - o>Jumps to previous cursor in jumplist. I use it very often.
v Smartly selects next subjects of current treesitter context
sStandalone jump to any word with folke/flash.nvim
ciqChange inside ANY quotes (``or ‘’ or “” etc.) withmini.ai
cibChange inside ANY brackets ({} or [] or () etc.) with mini.ai
zaToggle folds. LSP and nvim-ufo automatically add to supported files in smart way.
zMClose all folds
zROpen all folds
zrOpen all folds except imports/comments
gJSmartly joins lines based on treesitter
gSSmartly splits lines based on treesitter
< F12 >Opens/closes terminal
~Switch function arguments smartly