So, you made it through the first week. You’re moving around with hjkl
, and you’ve stopped instinctively reaching for your mouse. That’s a win.
But now you’re starting to realize there’s so much more to Vim. And you’re right. The second week is where things get exciting. Let’s take your skills to the next level.
Day 8: Leveling Up Your Movements
By now, you’re comfortable with hjkl
, w
, b
, and $
, but let’s move even faster.
Faster Navigation:
gg
→ Go to the top of the fileG
→ Go to the bottom of the file{
→ Move up by a paragraph}
→ Move down by a paragraphCtrl-d
→ Move down half a screenCtrl-u
→ Move up half a screen
Precision Jumps:
fx
→ Move to the next occurrence ofx
on the current linetx
→ Move before the next occurrence ofx
Fx
→ Move backwards tox
Tx
→ Move beforex
(backwards)
🎯 Goal for today: Navigate large files with ease. Try moving with gg
, G
, {
, }
and refine with f
, t
, F
, T
.
If you want to read more about vim text objects, check this out.
Day 9: Mastering Text Objects
One of Vim’s superpowers is text objects. They let you operate on words, sentences, and blocks of text efficiently.
Editing Inside and Around Objects:
ciw
→ Change inner word (delete & enter insert mode)diw
→ Delete inner wordyiw
→ Yank inner wordci"
→ Change everything inside"
di(
→ Delete everything inside()
da{
→ Delete around{}
(including brackets)
🎯 Goal for today: Try ciw
, diw
, ci"
, and di(
on a text file.
Day 10: Searching and Replacing Like a Pro
You already know how to search with /word
, but let’s refine it.
Smarter Searching:
/word\c
→ Case-insensitive search*
→ Search for the word under the cursor#
→ Search backward for the word under the cursor
Global Find and Replace:
:%s/old/new/g
→ Replace all occurrences of “old” with “new”:%s/old/new/gc
→ Replace all with confirmation
🎯 Goal for today: Search and replace words in a document efficiently. Read more about search and replace here
Day 11: Buffers, Tabs, and Windows
Vim can manage multiple files. Let’s ditch the old :e
and get serious. You can check out my blog post on this topic here
Buffers:
:e file
→ Open a new file:ls
→ List open buffers:bnext
(:bn
) → Go to the next buffer:bprev
(:bp
) → Go to the previous buffer:bd
→ Close the current buffer
Windows (Splits):
:split
→ Horizontal split:vsplit
→ Vertical splitCtrl-w w
→ Switch between windowsCtrl-w q
→ Close the current window
Tabs:
:tabnew file
→ Open a file in a new tabgt
→ Move to the next tabgT
→ Move to the previous tab:tabclose
→ Close the current tab
🎯 Goal for today: Manage multiple files using buffers, splits, and tabs.
Day 12: Macros – Automate Everything
I’ve wrote about macros in great detail here Macros let you record a series of commands and repeat them.
Recording and Playing Macros:
- Start recording:
q[a-z]
(e.g.,qa
to record in registera
) - Perform some actions
- Stop recording:
q
- Replay macro:
@a
- Repeat last macro:
@@
🎯 Goal for today: Record a macro to format or edit multiple lines and replay it.
Day 13: Visual Mode and Block Editing
To read about visual mode in detail, checkout this blog of mine,
Visual Mode Basics:
v
→ Start character-wise selectionV
→ Start line-wise selectionCtrl-v
→ Start block selection (useful for column editing!)
Block Editing Magic:
- Select a column with
Ctrl-v
- Press
I
(insert mode) and type something - Press
Esc
, and it applies to all selected lines!
🎯 Goal for today: Use Ctrl-v
to insert text at the beginning of multiple lines at once.
Day 14: Making Vim Yours
Now that you’ve got the basics down, let’s tweak Vim to fit your workflow.
Essential .vimrc
Settings:
set number " Show line numbers
set relativenumber " Relative numbers for quick movement
set ignorecase " Case-insensitive search
set smartcase " Case-sensitive if uppercase letters are used
set incsearch " Incremental search
set hlsearch " Highlight search matches
set wildmenu " Better command-line completion
set expandtab " Use spaces instead of tabs
set shiftwidth=4 " Indent by 4 spaces
set tabstop=4 " A tab counts as 4 spaces
Final Thoughts
You’ve made it through your second week, and now Vim feels a little less scary. You’re moving faster, editing with text objects, jumping around files, and even using macros.
The journey doesn’t end here—Vim mastery takes time. But if you keep practicing, soon you’ll wonder how you ever lived without it.
Happy vimming!