You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Display-line aware when no count (5j is unchanged)
&
Repeat last :s with flags
Find / search (telescope)
Keys
Action
<C-p>
Find files
<leader>ff
Find files
<leader>fg
Live grep
<leader>fb
Buffer list
<leader>fl
Fuzzy lines in current buffer
<leader>ft
Treesitter symbols
<leader>fh
Help tags
<leader>fr
Recent files
Inside Telescope: <C-j/k> next/prev, <C-]> open in tab, <C-x/v> h/v split.
Files / outline / undo
Keys
Action
<leader>nt
Open Neo-tree on left, reveal file
<leader>o
Toggle Aerial outline (replaces Vista)
<leader>u
Toggle undotree
LSP (set on LspAttach)
Keys
Action
gd / gD
Goto definition / declaration
gr / gi
References / implementation
K
Hover
<leader>rn
Rename
<leader>ca
Code action
[d / ]d
Previous / next diagnostic
Git
Keys
Action
<leader>gs
:Git status
<leader>gd
:Gdiffsplit
<leader>gb
:Git blame
]c / [c
Next / previous hunk (gitsigns)
<leader>hs/hr/hp/hb
Stage/reset/preview/blame hunk
Insert mode
Keys
Action
<C-Space>
Trigger completion
<C-d>/<C-f>
Scroll docs in completion popup
<C-l>
Auto-fix previous spelling error
<C-x><C-l>
Native line completion
<C-x><C-f>
Native filename completion
Useful commands
:Mason Manage LSPs / formatters
:Telescope List all telescope pickers
:Neotree File explorer
:AerialToggle Symbol outline
:Rename {newname} Rename current file on disk
:Stab Prompt for tab width (sets ts/sts/sw)
:PyrightSetPoetrySetup Point pyright at the current poetry venv
:Gdiffsplit Diff against index
:Git blame Blame current file
Debugging Neovim startup
# Startup time profile
nvim --startuptime /tmp/nvim-startup.log +qa && less /tmp/nvim-startup.log
# Verbose runtime log
nvim -V13/tmp/nvim-verbose.log <file># Health check
nvim +checkhealth