The
vi
(actually,
ex
) command
map
(
31.2
)
lets you build custom
vi
commands. For example, this map redefines the
-
key to run the
vi
commands
o
(open a new line below),
ESCAPE
,
75a-
(add 75 dashes), and
ESCAPE
again:
:map - o^[75a-^[
So typing
-
draws a row of dashes below the current line. The problem is that on many versions of
vi
, you can't add a repetition number - that is, you can't type the command
10-
to add 10 dashed lines.
The workaround is to define another macro that calls the first macro ten times. For example, to make the
v
key draw ten rows of dashes:
:map v ----------
(Ugly, eh? But it works.) You might want to put the
-
map in your
.exrc
file and define "multi-maps" like
v
while you're running
vi
.
-