You have inserted text before the cursor with the sequence:
i
text to be inserted
[ESC]
You've also inserted text after the cursor with the
a
command.
There are other insert commands for inserting text at different
positions relative to the cursor:
All of these commands leave you in insert mode.
After inserting text, remember to press
[ESC]
to escape back to command mode.
A
(append) and
I
(insert) save you from having to
move your cursor to the end or beginning of the line before
invoking insert mode.
(The
A
command saves one keystroke over
$a
.
Although one keystroke might not seem like much of a saving,
the more adept (and impatient) an editor you become, the more
keystrokes you will want to omit.)
o
and
O
(open) save you from having to
insert a carriage return. You can type these commands from
anywhere within the line.
s
and
S
(substitute) allow you to delete a character
or a whole line
and replace the deletion with any amount of new text.
s
is the equivalent of the two-stroke command
c
[SPACE]
and
S
is the same as
cc
. One of the best uses
for
s
is to change one character to several characters.
R
("large" replace) is useful when you
want to start changing text, but you don't know exactly how much. For
example, instead of guessing whether to say
3cw
or
4cw
, just type
R
and then enter your replacement text.
Except for
o
and
O
, the above insert commands
(plus
i
and
a
) take numeric prefixes.
With numeric prefixes, you might use the commands
i
,
I
,
a
, and
A
to
insert a row of underlines or alternating characters.
For example, typing
50i*
[ESC]
inserts 50 asterisks, and typing
25a*-
[ESC]
appends 50 characters (25 pairs of asterisk and hyphen).
It's better to repeat only a small string of characters.
vi
has difficulty repeating the insertion of more than
one line's worth of text.
You can use a numeric prefix with
S
to substitute several lines.
It's quicker and more flexible, though, to use
c
with a movement command.
A good case for
using the
s
command with a numeric prefix is when you
want to change a few characters in the middle of a word. Typing
r
wouldn't be enough, but typing
cw
would change
too much text.
Using
s
with a numeric prefix is usually the same as
typing
R
.
There are other combinations of commands that work naturally
together.
For example,
ea
is useful for appending new text
to the end of a word.
It helps to train yourself to recognize such frequent
combinations so that they become automatic.