Reviewed-on: #4 Co-authored-by: Tomas Mirchev <contact@tomastm.com> Co-committed-by: Tomas Mirchev <contact@tomastm.com>
120 lines
5.1 KiB
Markdown
120 lines
5.1 KiB
Markdown
#============================================================
|
||
# 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
|
||
<n>gt Go to tab number <n>
|
||
|
||
|
||
#============================================================
|
||
# 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.
|
||
|