📖 Guide

Vim Commands Cheat Sheet — Complete Reference

Every Vim command you need, from basic navigation to advanced macros. Searchable and organized by category.

179 commands across 11 categories

Mode Switching

CommandDescription
i
Enter Insert mode before cursor
I
Enter Insert mode at beginning of line
a
Enter Insert mode after cursor
A
Enter Insert mode at end of line
o
Open new line below and enter Insert mode
O
Open new line above and enter Insert mode
v
Enter Visual mode (character-wise)
V
Enter Visual Line mode
Ctrl+v
Enter Visual Block mode
Esc
Return to Normal mode from any mode
:
Enter Command-line mode
R
Enter Replace mode (overwrite characters)

Cursor Movement

CommandDescription
h / j / k / l
Move left / down / up / right
w
Jump to start of next word
W
Jump to start of next WORD (whitespace-delimited)
b
Jump to start of previous word
B
Jump to start of previous WORD
e
Jump to end of current/next word
E
Jump to end of current/next WORD
0
Jump to beginning of line
^
Jump to first non-blank character of line
$
Jump to end of line
gg
Go to first line of file
G
Go to last line of file
:<number>
e.g. :42
Go to specific line number
Ctrl+d
Scroll down half page
Ctrl+u
Scroll up half page
Ctrl+f
Scroll down full page
Ctrl+b
Scroll up full page
H
Move cursor to top of screen
M
Move cursor to middle of screen
L
Move cursor to bottom of screen
%
Jump to matching bracket/parenthesis
f<char>
e.g. fa
Jump to next occurrence of char on line
F<char>
Jump to previous occurrence of char on line
t<char>
Jump to just before next occurrence of char
;
Repeat last f/F/t/T motion forward
,
Repeat last f/F/t/T motion backward
{
Jump to previous empty line (paragraph)
}
Jump to next empty line (paragraph)

Editing

CommandDescription
x
Delete character under cursor
X
Delete character before cursor
dd
Delete (cut) entire line
D
Delete from cursor to end of line
dw
Delete from cursor to start of next word
d$
Delete from cursor to end of line
d0
Delete from cursor to beginning of line
dG
Delete from current line to end of file
diw
Delete inner word (word under cursor)
di"
Delete text inside double quotes
di(
Delete text inside parentheses
di{
Delete text inside curly braces
dat
Delete around HTML/XML tag
cc
Change (replace) entire line
C
Change from cursor to end of line
cw
Change from cursor to end of word
ciw
Change inner word
ci"
Change text inside quotes
ci(
Change text inside parentheses
r<char>
Replace single character under cursor
s
Delete character and enter Insert mode
S
Delete line and enter Insert mode
J
Join current line with next line
~
Toggle case of character under cursor
gUiw
Uppercase inner word
guiw
Lowercase inner word
>>
Indent line
<<
Unindent line
==
Auto-indent line
.
Repeat last editing command

Yank & Paste

CommandDescription
yy
Yank (copy) entire line
yw
Yank from cursor to start of next word
y$
Yank from cursor to end of line
yiw
Yank inner word
yi"
Yank text inside double quotes
p
Paste after cursor
P
Paste before cursor
"ay
Yank into register 'a'
"ap
Paste from register 'a'
"+y
Yank to system clipboard
"+p
Paste from system clipboard
:reg
Show contents of all registers

Visual Mode

CommandDescription
v
Start character-wise visual selection
V
Start line-wise visual selection
Ctrl+v
Start block-wise visual selection
gv
Re-select last visual selection
o
Move to other end of selection
d
Delete selection
y
Yank selection
c
Change selection
>
Indent selection
<
Unindent selection
=
Auto-indent selection
U
Uppercase selection
u
Lowercase selection
I (block)
Insert at start of each line in block selection
A (block)
Append at end of each line in block selection

Files & Buffers

CommandDescription
:w
Save file
:w <filename>
Save as new filename
:q
Quit (fails if unsaved changes)
:q!
Quit without saving
:wq
Save and quit
:x
Save and quit (same as :wq)
ZZ
Save and quit (Normal mode shortcut)
ZQ
Quit without saving (Normal mode)
:e <file>
e.g. :e ~/.bashrc
Open a file
:e!
Revert to last saved version
:bn
Next buffer
:bp
Previous buffer
:bd
Close/delete current buffer
:ls
List all open buffers
:b <n>
Switch to buffer number n

Windows & Tabs

CommandDescription
:split <file>
Horizontal split (or :sp)
:vsplit <file>
Vertical split (or :vs)
Ctrl+w s
Horizontal split current file
Ctrl+w v
Vertical split current file
Ctrl+w h/j/k/l
Navigate between splits
Ctrl+w w
Cycle through windows
Ctrl+w =
Make all windows equal size
Ctrl+w _
Maximize current window height
Ctrl+w |
Maximize current window width
Ctrl+w q
Close current window
Ctrl+w o
Close all other windows
:tabnew <file>
Open file in new tab
gt
Next tab
gT
Previous tab
:tabclose
Close current tab

Marks & Jumps

CommandDescription
m<letter>
e.g. ma
Set mark at cursor position
'<letter>
e.g. 'a
Jump to line of mark
`<letter>
Jump to exact position of mark
''
Jump back to previous position
'.
Jump to last edit position
Ctrl+o
Jump back in jump list
Ctrl+i
Jump forward in jump list
:marks
List all marks
:delmarks a
Delete mark 'a'
g;
Jump to previous change position
g,
Jump to next change position

Macros & Registers

CommandDescription
q<letter>
e.g. qa
Start recording macro into register
q
Stop recording macro
@<letter>
e.g. @a
Play macro from register
@@
Replay last played macro
10@a
Play macro 'a' 10 times
:reg
Show all register contents
"<letter>y
Yank into named register
"<letter>p
Paste from named register
"0p
Paste last yank (not delete)
"_d
Delete into black hole register (no yank)

Advanced

CommandDescription
za
Toggle fold
zR
Open all folds
zM
Close all folds
zo / zc
Open / close fold under cursor
Ctrl+n
Autocomplete (Insert mode) — next match
Ctrl+p
Autocomplete (Insert mode) — previous match
:set spell
Enable spell checking
]s / [s
Next / previous misspelled word
z=
Show spelling suggestions
:!<cmd>
e.g. :!ls
Run external shell command
:r !<cmd>
e.g. :r !date
Insert output of command into file
:sort
Sort selected lines
Ctrl+a / Ctrl+x
Increment / decrement number under cursor
:set number
Show line numbers
:set relativenumber
Show relative line numbers
:syntax on
Enable syntax highlighting

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
🌐
Curl
Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, and standard library.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, and administration.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
Next.js
Next.js App Router reference covering routing, data fetching, server components, and deployment.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, and Hosting.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.