Maybe I am being daft but can you replace all the characters from where the cursor is to the end of line by one command? Then use . to do the same replace on the next line and so on.
If I understood your question properly, try this:
C (that's a capital C) will delete everything from the cursor to the end of the line and put you in INSERT mode, then you write your replacement, leave INSERT mode, use . to repeat the process somewhere else.
Adding to sr_'s answer:
If your cursor starts at the same position on each line, you might be interested in the Visual Block feature.
Type the following in order, with your cursor in the initial position:
- Ctrl+v: Enter visual block mode.
- $: go to the end of the line.
- [X]j: replace X with the number of lines you want to go down.
This should create a rectangular selection going from your cursor on the first line to the end of the line [X] lines below.
You can then replace your whole selection:
- c: delete selction and go in insert mode.
- insert new text
- Esc: Exit insert mode; Vim will automatically repeat the step on each line selected.
I use visual block whenever I can, I thought I'd share
C or c$ is for "change" and R is for "replace".
Two almost similar behavior. The former would get the line deleted before you start typing; while the latter would let you type over the characters and possibly go beyond the limit of the old line's characters displayed.
Just press 'C' i.e. Capital C in the command mode, and type the replacement text.
The other answers missed these, they don't enter insert mode.
- D Delete to the end of the line
- d$ Deletes from the cursor to the end of the line
Then of course use .
As it can be useful, once we are trying to change till the end of line. I have created an insert mapping to perform this task, it not uses D because in insert mode this key is used to decreasing indentation. So it is Ctrl-k
:inoremap <C-k> <C-o>C