How to Insert Text at the beginning of each line in Vim

Updated on November 14, 2017

Here’s a question from Mr. Ashi, a regular reader at Techglimpse. He asks, how to insert text at the beginning of each line in Vim editor?

I just wanted to know if there’s a Vim command to insert a text at the start of each line? Say, I want to insert ‘hello’ at the beginning of each line?

How to insert text at the beginning of each line in Vim editor?

Yes, that’s possible. You can use substitute command as shown below:

# vim sample.txt

Method 1: Type the below command and hit enter.

:%s/^/hello/

Assume that you want to add a space or any other special character, then just append the same to the text.

:%s/^/hello : /

You can also insert text at the beginning from line 10 to 20 (i mean, the range).

:10,20s/^/hello : /

Note: The above example inserts text at the beginning of 10th line to 20th line. Lookout for the missing %, which means substitute all lines.

Method 2: Using marker

Step 1: Move cursor to the line from where you want to insert text.

Step 2: Hit ESC and type ma. This step will create a marker a

Step 3: Move cursor to the line till where you want to stop inserting the text.

Step 4: Type

:'a,.s/^/hello : /

Well, the command might look complex, but it’s something similar to using range. At Step 2, we create a new marker a. Then, the command starts with typewriter apostrophe ( ' ) followed by marker a – denoting a start of the line at marker and comma ( , ) followed by dot (.) and s command- denoting end of the substitute. Carrot ( ^ ) represents beginning of the line.

Method 3: Using Visual editor.

Step 1: Move the cursor to the line from where you would like to insert the text.

Step 2: Hit Ctrl + V to enter into Visual Block and use cursor to select the first column till line where you want to stop inserting the text.

Step 3: Hit Shift + i to enter into insert mode. Type text you would like to insert and hit ESC. You will see the text being insert automatically to all the lines selected in Step 2.

Insert Text at the beginning of each line in Vim

That’s it! Love the trick? Let us know your comments.

Was this article helpful?

Related Articles

Comments Leave a Comment

Leave a Comment