5.1 KiB
#============================================================
NEOVIM KEYMAP REFERENCE (CORE & USEFUL)
#============================================================
#============================================================
INSERT MODE (Ctrl + ...)
#============================================================ Ctrl + h Delete character before cursor Ctrl + w Delete word before cursor Ctrl + j Insert line break (newline) at cursor Ctrl + t Indent current line one 'shiftwidth' to the right Ctrl + d De-indent current line one 'shiftwidth' to the left Ctrl + n Insert next auto-completion match Ctrl + p Insert previous auto-completion match Ctrl + r x Insert contents of register x Ctrl + o {cmd} Temporarily enter Normal mode to execute {cmd} Esc / Ctrl + c Exit insert mode and return to Normal mode
#============================================================
NORMAL MODE — WINDOW & TAB MANAGEMENT
#============================================================ C-w s Split current window horizontally C-w v Split current window vertically C-w c Close current window C-w q Quit current window (same as close but exit if last) C-w w Cycle through open windows C-w x Exchange window with next one
C-w = Equalize window sizes C-w _ Maximize height of current window C-w | Maximize width of current window
C-w h Move to window left C-w j Move to window below C-w k Move to window above C-w l Move to window right
C-w H Move current window far left C-w J Move current window to bottom C-w K Move current window to top C-w L Move current window far right
C-w t Move current split into a new tab
gt Go to next tab gT Go to previous tab gt Go to tab number
#============================================================
NORMAL MODE — TAGS, JUMPS & MOTIONS
#============================================================ Ctrl + ] Jump to tag under cursor gd Go to local declaration gD Go to global declaration { Jump backward one paragraph/block } Jump forward one paragraph/block ; Repeat last motion forward , Repeat last motion backward Ctrl + e Scroll window down (cursor stays put) Ctrl + y Scroll window up (cursor stays put) H Move cursor to top of screen M Move cursor to middle of screen L Move cursor to bottom of screen
#============================================================
NORMAL MODE — TEXT OBJECTS
#============================================================ aw "A word" — select word + following space ab "A block" — select around () aB "A Block" — select around {} at "A tag" — select around XML/HTML tag
ib "Inner block" — inside () iB "Inner Block" — inside {} it "Inner tag" — inside tag (no delimiters)
#============================================================
NORMAL MODE — DIFF / CHANGES
#============================================================ do Obtain (get) changes from other window dp Put (send) changes to other window
#============================================================
REGISTERS & CLIPBOARD
#============================================================ "xy Yank into register x "xp Paste contents of register x "+y Yank into system clipboard "+p Paste from system clipboard
#--- Common Registers --- "0 Last yank " Unnamed register (last delete or yank) "% Current file name "# Alternate file name "* X11 primary selection clipboard "+ X11 clipboard register "/ Last search pattern ": Last command-line command ". Last inserted text "- Last small (less than a line) delete "= Expression register (evaluate expression) "_ Black hole register (discard output)
#============================================================
TIPS & NOTES
#============================================================
- Ctrl + o in Insert mode is a powerful way to run one Normal-mode command temporarily.
- Use “aw”, “iw”, “ab”, “ib”, etc. with operators (e.g., ‘daw’, ‘yib’) for precise text manipulation.
- The system clipboard is “+” (Windows/macOS/Linux), but some X11 systems also use “*”.
- When in diff mode, ‘do’ and ‘dp’ are complementary: “get” vs. “put” changes.