How do I execute a single normal mode command without leaving insert mode?
Answer
<C-o> (in insert mode)
Explanation
Pressing <C-o> while in insert mode drops you into a special "insert-normal" mode where you can execute exactly one normal mode command, then immediately return to insert mode. This avoids the <Esc> → command → i dance and keeps your editing flow uninterrupted.
How it works
- While typing in insert mode, press
<C-o> - Vim enters insert-normal mode (shown as
-- (insert) --in the status line) - Execute any single normal mode command (motion, operator, etc.)
- Vim automatically returns to insert mode at the new cursor position
Example
You're typing in the middle of a line and realize you need to delete the word behind the cursor:
The quick brown fox| (cursor is here, in insert mode)
Instead of <Esc>bdiwi, just press db`:
The quick fox| (back in insert mode, ready to keep typing)
Tips
<C-o>zz— center the screen on the current line while typing<C-o>O— open a new line above without leaving insert mode<C-o>$— jump to end of line while staying in insert<C-o>u— undo the last change while staying in insert mode<C-o>p— paste from the default register mid-edit- Combine with any motion:
<C-o>3jmoves down 3 lines and stays in insert