vimeditingviemu

How to insert text at beginning of a multi-line selection in vi/Vim


In Vim, how do I insert characters at the beginning of each line in a selection?

For instance, I want to comment out a block of code by prepending // at the beginning of each line assuming my language's comment system doesn't allow block commenting like /* */. How would I do this?


Solution

    1. Press Esc to enter 'command mode'
    2. Use Ctrl+V to enter visual block mode (try Ctrl+Q, if V doesn't work)
    3. Move Up/Down to select the columns of text in the lines you want to comment.
    4. Then hit Shift+i and type the text you want to insert (or type x to delete)
    5. Then hit Esc, wait 1 second and the inserted text will appear on every line.

    For further information and reading, check out "Inserting text in multiple lines" in the Vim Tips Wiki.