Neovim Essentials
Quick reference for the most frequently used Neovim key bindings. Use the categories below to find the commands you need faster, whether you are on desktop or on the go.
Tips
- Most bindings assume normal mode. Tap
Escto exit insert mode. - Use
:to enter command-line mode for commands like:wand:q. - Combine counts with motions (e.g.
3w) to move faster.
Movement
Normal ModeCursor Basics
h / j / k / l | Move left / down / up / right |
w / b | Move to next / previous word |
0 / $ | Line start / end |
gg / G | Go to top / bottom of file |
Ctrl+d / Ctrl+u | Half-page down / up |
Find & Navigate
fchar / tchar | Find / till character on line |
; / , | Repeat last f / reverse |
% | Jump to matching bracket |
{ / } | Previous / next paragraph |
zz | Center current line in viewport |
Editing
Normal & Insert ModesInsert & Append
i / I | Insert before cursor / line start |
a / A | Append after cursor / line end |
o / O | Open new line below / above |
Esc | Return to normal mode |
Change & Delete
x / X | Delete char under / before cursor |
dd / D | Delete current line / to end |
cc / C | Change line / change to end |
yw / yy | Yank word / yank line |
p / P | Paste after / before cursor |
Visual & Selection
Visual ModesVisual Basics
v / V | Character-wise / line-wise visual |
Ctrl+v | Block-wise visual mode |
o | Jump to other selection end |
> / < | Indent / outdent selection |
y / d | Yank / delete selection |
Text Objects
viw | Select inner word |
vi" | Select inside quotes |
va( | Select around parentheses |
vip | Select inner paragraph |
v% | Select to matching bracket |
Windows & Tabs
Normal ModeSplits
:vs / :sp | Vertical / horizontal split |
Ctrl+w w | Cycle through windows |
Ctrl+w h/j/k/l | Move to window left/down/up/right |
Ctrl+w = | Equalize split sizes |
Ctrl+w q | Close current window |
Tabs & Buffers
:tabnew | Open new tab |
gt / gT | Next / previous tab |
:bnext / :bprev | Next / previous buffer |
:ls | List open buffers |
:bd | Close current buffer |
Search & Replace
Normal & Command ModesSearch
/pattern / ?pattern | Search forward / backward |
n / N | Next / previous match |
* / # | Search word under cursor forward / backward |
gd | Go to definition (within buffer) |
Ctrl+o / Ctrl+i | Older / newer jump |
Replace
:s/old/new/ | Replace first match on line |
:s/old/new/g | Replace all matches on line |
:%s/old/new/g | Replace whole file |
:%s/old/new/gc | Replace whole file with confirm |
:noh | Clear highlight |
File & Miscellaneous
Mixed ModesFiles & Sessions
:w / :wa | Write current / all buffers |
:q / :qa | Quit current / all buffers |
:wq / ZZ | Write and quit |
:e file | Edit file |
:source % | Reload current file |
Registers & Macros
"xy / "xp | Yank / paste into register x |
"+y / "+p | Use system clipboard |
qletter | Start recording macro |
q | Stop recording |
@letter / @@ | Play macro / repeat last |
LunarVim Essentials
Space is the leader key. Tap it once to reveal WhichKey hints, then follow the prompts below to drive Telescope, LSP, and project helpers.
Tips
- The default leader is
Space; double-tap to cancel a pending combo. :LvimSyncPluginsor<leader>lIinstalls missing plugins after config changes.- Use
<leader>?to reopen WhichKey if you forget a mapping.
LunarVim Shortcuts
Leader:Space
Key chords below follow the default LunarVim profile; adjust if you override mappings in ~/.config/lvim/config.lua.
Find & Explore
<leader>ff | Telescope find files |
<leader>fg | Live grep workspace |
<leader>fb | Jump to open buffer |
<leader>fh | Search Neovim help tags |
<leader>e | Toggle file explorer (NvimTree) |
LSP & Diagnostics
gd | Go to definition |
gr | List references via Telescope |
<leader>la | Code actions menu |
<leader>lr | Rename symbol |
<leader>lf | Format current buffer |
[d / ]d | Previous / next diagnostic |
Completion
Ctrl+Space | Trigger completion menu |
Tab / Shift+Tab | Cycle items forward / back |
Enter / Ctrl+y | Confirm selection |
Ctrl+e | Abort completion |
<leader>ls | Toggle signature help popup |
Commands & Tools
<leader>tt | Toggle floating terminal |
<leader>pp | Project picker |
<leader>bd | Close current buffer |
<leader>ww | Save file |
<leader>qq | Quit LunarVim session |
<leader>lI | Install configured plugins |
<leader>lR | Reload config.lua |
Lazygit Essentials
Use the status panel to stage with confidence, then jump between views with a single key. The shortcuts below assume the default Lazygit configuration.
Tips
- Press
?anywhere to reveal Lazygit's built-in help overlay. Tabcycles main panels;Shift+Tabreverses.- Use
oto open a file in your editor without leaving Lazygit.
Lazygit Shortcuts
Default bindingsMost actions respond to single keys. Focus a panel, press the key, and confirm prompts with Enter.
Stage & Commit
Space | Stage / unstage highlighted file or hunk |
Shift+S | Stage entire directory |
u | Unstage latest change |
c | Open commit message popup |
Ctrl+s | Save commit message |
Ctrl+c | Abort commit popup |
Workflows
p / P | Pull / push current branch |
f | Fetch all remotes |
Shift+R | Rebase current branch onto tracked remote |
Shift+D | View diff of selected file against HEAD |
x | Discard selected change (with confirmation) |
Lazydocker Essentials
Monitor containers, services, and logs from your terminal dashboard. The keys mirror Lazygit's ergonomics.
Tips
?shows the full key map, just like Lazygit.- Targets follow the highlighted row; confirm destructive actions with
Enter. - Enable live log tailing with
lto keep an eye on container output.
Lazydocker Shortcuts
Default bindingsFocus the left navigation, choose a resource, then use the context keys below to inspect and manage it.
Containers & Services
Tab / Shift+Tab | Cycle navigation columns |
Enter | Expand selected container or service |
s / S | Start / stop container |
r | Restart container |
X | Remove container or prune dangling resources |
Logs & Exec
l | Toggle live log tail for selected container |
o | Open logs in external pager |
e | Exec into container shell |
t | View top stats for container |
Ctrl+l | Clear current log view |
Views & Actions
Ctrl+r | Refresh Docker context |
p | Switch to projects view |
Shift+F | Filter resources (by name or state) |
Ctrl+f | Search within current list or logs |
q | Close popups or back out one level |
tmux Essentials
Terminal multiplexing shortcuts for faster session, window, and pane management. Use the buttons below to jump to the area you need.
Tips
- Prefix defaults to
Ctrl+b; press it once before the key hints below. - Use
tmux list-keysto confirm custom bindings in your config. set -g mouse onenables click-to-select panes in modern tmux.
tmux Shortcuts
Prefix:Ctrl+b
Commands below assume the prefix; shell commands are noted explicitly.
Sessions
tmux new -s name | Create a session named name |
tmux ls | List existing sessions |
tmux attach -t name | Attach to session name |
Ctrl+b d | Detach from current session |
Ctrl+b $ | Rename current session |
Windows
Ctrl+b c | Create a new window |
Ctrl+b , | Rename the active window |
Ctrl+b n / p | Next / previous window |
Ctrl+b w | Choose window from list |
Ctrl+b & | Kill the active window (confirm) |
Panes
Ctrl+b " / % | Split horizontal / vertical |
Ctrl+b Arrow keys | Move focus between panes |
Ctrl+b o | Cycle to next pane |
Ctrl+b { / } | Swap pane with previous / next |
Ctrl+b x | Close the active pane (confirm) |
Ctrl+b z | Toggle pane zoom |
Copy Mode
Ctrl+b [ | Enter copy mode |
Space | Begin selecting text |
Enter | Copy selection to tmux buffer |
q | Exit copy mode |
Ctrl+b ] | Paste most recent buffer |
PgUp / PgDn | Scroll history while in copy mode |