1.1 โ€” Normal Mode โ€” The Command Center

1.1 โ€” Normal Mode โ€” The Command Center#

Normal mode is Vimโ€™s default mode and where youโ€™ll spend most of your time. Understanding Normal mode is the key to unlocking Vimโ€™s power.

What is Normal Mode?#

Normal mode is the command mode where keystrokes execute commands rather than inserting text. When you open Vim, you start in Normal mode.

Think of Normal mode as the โ€œcontrol roomโ€ of your editor:

Key Insight: In Vim, you spend more time editing existing text than writing new text. Normal mode optimizes for this reality.

Recognizing Normal Mode#

Youโ€™re in Normal mode when:

If youโ€™re ever unsure what mode youโ€™re in, press Esc to return to Normal mode.

Basic Normal Mode Commands#

Movement Commands#

CommandAction
hMove left
jMove down
kMove up
lMove right
wMove to next word
bMove to previous word
0Move to start of line
$Move to end of line

Editing Commands#

CommandAction
xDelete character under cursor
XDelete character before cursor
ddDelete entire line
DDelete from cursor to end of line
yyYank (copy) entire line
pPaste after cursor
PPaste before cursor
uUndo
Ctrl-rRedo

Entering Other Modes#

CommandTarget Mode
iInsert mode (before cursor)
aInsert mode (after cursor)
vVisual mode (character)
VVisual mode (line)
:Command-line mode
/Search forward
?Search backward

The Philosophy of Normal Mode#

Commands are Composable#

Normal mode commands follow a grammar: [count][operator][motion]

d       โ†’  delete operator
w       โ†’  word motion
dw      โ†’  delete word
d3w     โ†’  delete 3 words

This composability means learning a few operators and motions gives you many commands.

The Dot Command#

The . (dot) command repeats your last change. This is incredibly powerful:

  1. dw โ€” Delete a word
  2. Move to another word
  3. . โ€” Delete that word too

The dot command makes Normal mode edits repeatable without macros.

Counts Multiply Commands#

Most commands accept a count prefix:

CommandAction
5jMove down 5 lines
3wMove forward 3 words
2ddDelete 2 lines
10xDelete 10 characters

Common Normal Mode Workflows#

Deleting Text#

x       โ†’  Delete single character
dw      โ†’  Delete word (from cursor)
diw     โ†’  Delete inner word (whole word)
dd      โ†’  Delete line
d$      โ†’  Delete to end of line
d0      โ†’  Delete to start of line

Changing Text#

The c (change) operator deletes and enters Insert mode:

cw      โ†’  Change word
ciw     โ†’  Change inner word
cc      โ†’  Change entire line
c$      โ†’  Change to end of line

Copying and Pasting#

yy      โ†’  Yank (copy) line
yw      โ†’  Yank word
y$      โ†’  Yank to end of line
p       โ†’  Paste after cursor
P       โ†’  Paste before cursor

Returning to Normal Mode#

From any mode, press Esc to return to Normal mode:

From ModeKeyAlternative
InsertEscCtrl-[
VisualEscCtrl-[
Command-lineEscCtrl-[

Many Vim users remap Caps Lock to Esc for easier access.

Practice Exercises#

Exercise 1: Basic Navigation#

  1. Open a file with multiple lines: vim practice.txt
  2. Use j and k to move between lines
  3. Use h and l to move within a line
  4. Use w and b to move by words
  5. Use 0 and $ to jump to line boundaries

Exercise 2: Deletion Practice#

  1. Position cursor on a character, press x to delete it
  2. Position cursor on a word, press dw to delete it
  3. Press dd to delete an entire line
  4. Press u to undo each deletion

Exercise 3: The Dot Command#

  1. Delete a word with dw
  2. Move to another word with w
  3. Press . to delete it
  4. Repeat step 2-3 several times

Exercise 4: Counts#

  1. Press 5j to move down 5 lines
  2. Press 3w to move forward 3 words
  3. Press 2dd to delete 2 lines
  4. Undo with u

Common Mistakes#

Accidentally Typing in Normal Mode#

If you start typing and see strange behavior (jumping around, deleting text), youโ€™re in Normal mode. Press Esc, then u to undo, then i to enter Insert mode.

Forgetting Which Mode Youโ€™re In#

Always look at the bottom of the screen for mode indicators. When in doubt, press Esc.

Using Arrow Keys#

Arrow keys work but break the flow. Train yourself to use hjkl โ€” itโ€™s faster once learned.

Summary#

ConceptKey Points
Normal ModeDefault mode, commands not text
Movementhjkl, w, b, 0, $
Operatorsd (delete), c (change), y (yank)
CountsPrefix commands with numbers
Dot Command. repeats last change
Return to NormalEsc from any mode

Normal mode is Vimโ€™s foundation. Master it, and every other mode becomes more powerful.