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 Esc to exit insert mode.
  • Use : to enter command-line mode for commands like :w and :q.
  • Combine counts with motions (e.g. 3w) to move faster.

Movement

Normal Mode

Cursor Basics

h / j / k / lMove left / down / up / right
w / bMove to next / previous word
0 / $Line start / end
gg / GGo to top / bottom of file
Ctrl+d / Ctrl+uHalf-page down / up

Find & Navigate

fchar / tcharFind / till character on line
; / ,Repeat last f / reverse
%Jump to matching bracket
{ / }Previous / next paragraph
zzCenter current line in viewport

Editing

Normal & Insert Modes

Insert & Append

i / IInsert before cursor / line start
a / AAppend after cursor / line end
o / OOpen new line below / above
EscReturn to normal mode

Change & Delete

x / XDelete char under / before cursor
dd / DDelete current line / to end
cc / CChange line / change to end
yw / yyYank word / yank line
p / PPaste after / before cursor

Visual & Selection

Visual Modes

Visual Basics

v / VCharacter-wise / line-wise visual
Ctrl+vBlock-wise visual mode
oJump to other selection end
> / <Indent / outdent selection
y / dYank / delete selection

Text Objects

viwSelect inner word
vi"Select inside quotes
va(Select around parentheses
vipSelect inner paragraph
v%Select to matching bracket

Windows & Tabs

Normal Mode

Splits

:vs / :spVertical / horizontal split
Ctrl+w wCycle through windows
Ctrl+w h/j/k/lMove to window left/down/up/right
Ctrl+w =Equalize split sizes
Ctrl+w qClose current window

Tabs & Buffers

:tabnewOpen new tab
gt / gTNext / previous tab
:bnext / :bprevNext / previous buffer
:lsList open buffers
:bdClose current buffer

File & Miscellaneous

Mixed Modes

Files & Sessions

:w / :waWrite current / all buffers
:q / :qaQuit current / all buffers
:wq / ZZWrite and quit
:e fileEdit file
:source %Reload current file

Registers & Macros

"xy / "xpYank / paste into register x
"+y / "+pUse system clipboard
qletterStart recording macro
qStop 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.
  • :LvimSyncPlugins or <leader>lI installs 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>ffTelescope find files
<leader>fgLive grep workspace
<leader>fbJump to open buffer
<leader>fhSearch Neovim help tags
<leader>eToggle file explorer (NvimTree)

LSP & Diagnostics

gdGo to definition
grList references via Telescope
<leader>laCode actions menu
<leader>lrRename symbol
<leader>lfFormat current buffer
[d / ]dPrevious / next diagnostic

Completion

Ctrl+SpaceTrigger completion menu
Tab / Shift+TabCycle items forward / back
Enter / Ctrl+yConfirm selection
Ctrl+eAbort completion
<leader>lsToggle signature help popup

Commands & Tools

<leader>ttToggle floating terminal
<leader>ppProject picker
<leader>bdClose current buffer
<leader>wwSave file
<leader>qqQuit LunarVim session
<leader>lIInstall configured plugins
<leader>lRReload 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.
  • Tab cycles main panels; Shift+Tab reverses.
  • Use o to open a file in your editor without leaving Lazygit.

Lazygit Shortcuts

Default bindings

Most actions respond to single keys. Focus a panel, press the key, and confirm prompts with Enter.

Stage & Commit

SpaceStage / unstage highlighted file or hunk
Shift+SStage entire directory
uUnstage latest change
cOpen commit message popup
Ctrl+sSave commit message
Ctrl+cAbort commit popup

Navigation

Tab / Shift+TabMove forward / back between panels
h / lCollapse / expand nested lists
pgup / pgdnScroll lists faster
oOpen file in external editor
Ctrl+pQuick switch to recent branch

Workflows

p / PPull / push current branch
fFetch all remotes
Shift+RRebase current branch onto tracked remote
Shift+DView diff of selected file against HEAD
xDiscard 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 l to keep an eye on container output.

Lazydocker Shortcuts

Default bindings

Focus the left navigation, choose a resource, then use the context keys below to inspect and manage it.

Containers & Services

Tab / Shift+TabCycle navigation columns
EnterExpand selected container or service
s / SStart / stop container
rRestart container
XRemove container or prune dangling resources

Logs & Exec

lToggle live log tail for selected container
oOpen logs in external pager
eExec into container shell
tView top stats for container
Ctrl+lClear current log view

Views & Actions

Ctrl+rRefresh Docker context
pSwitch to projects view
Shift+FFilter resources (by name or state)
Ctrl+fSearch within current list or logs
qClose 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-keys to confirm custom bindings in your config.
  • set -g mouse on enables 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 nameCreate a session named name
tmux lsList existing sessions
tmux attach -t nameAttach to session name
Ctrl+b dDetach from current session
Ctrl+b $Rename current session

Windows

Ctrl+b cCreate a new window
Ctrl+b ,Rename the active window
Ctrl+b n / pNext / previous window
Ctrl+b wChoose window from list
Ctrl+b &Kill the active window (confirm)

Panes

Ctrl+b " / %Split horizontal / vertical
Ctrl+b Arrow keysMove focus between panes
Ctrl+b oCycle to next pane
Ctrl+b { / }Swap pane with previous / next
Ctrl+b xClose the active pane (confirm)
Ctrl+b zToggle pane zoom

Copy Mode

Ctrl+b [Enter copy mode
SpaceBegin selecting text
EnterCopy selection to tmux buffer
qExit copy mode
Ctrl+b ]Paste most recent buffer
PgUp / PgDnScroll history while in copy mode