Earlier today I was asked how to comment out multiple lines in Vim. Unfortunately I wasn’t too sure what the best way was and the only one I knew felt less than friendly. Anyway – after some research I’ve nailed a few different methods and thought I’d post them here for people to choose their favourite one.
1. Visual Insert
This is the simplest method by far. Quick fire steps are:
- Ctrl + V (enter block-visual selection mode)
- Select the first character of the lines you want to comment out using “hjkl” or cursor keys
- Shift + i
- Type your comment marker: “//”, “#”, etc.
- Escape
- The end – there is a tiny delay as the comments are now put into your other lines.
2. Visual Search/Replace
This is similar to the above but has a slightly more arcane method to adding the comments.
- Shift + V (enter line selection mode)
- Select the lines you want to comment out.
- Type:
:s/^/# [Return]
or
:s/^/\/\/ [Return]
The first will replace the the beginning of the line (^) with a hash (#) and the second will do the same with a double slash (//). Note the extra slashes to escape.
3 Line Number Range
Similar to above this is the only method I could think of and its hardly very friendly but it gets the job done.
Pick the line numbers of the first and last lines you want commented – this is rarely simple.
Type:
:2,10s/^/#
That will put hash comments at the start of lines 2 to 10.
4. Using Markers
I’m not fond of this method as I’m still not 100% on markers. In fact I’m around about…..0% on markers as I’d not heard of them until now!! Woo for learning!
Anyway – markers. Oh yes, I’ll do a nice list of steps again:
- On the first line while in command mode type “ma” (no colon required here)
- Go to the last line of your intended block.
- Type:
:'a,. s/^/# /
In English that means: Form marker “a” to here (.) perform this command: s/^/# /
5. Plugins
You could just skip all that and install a Vim plugin. The advantage being they have more features. The disadvantage being you’d have to make sure all the servers you use have this plugin otherwise you’re stumped.









