## 17.24. Using vi Abbreviations as Commands (Cut and Paste Between vi's)

The vi command ab (Section 17.23) is for abbreviating words. But it's also good for abbreviating ex-mode commands that you type over and over. In fact, for ex-mode commands (commands that start with a colon (:)), abbreviations can be better than keymaps (Section 18.2). That's because you can choose almost any command name; you don't have to worry about conflicts with existing vi commands.

Here's an example. If you have a windowing terminal or more than one terminal, you might have vi sessions running in more than one place. Your system might have a way to transfer text between windows, but it can be easier to use files in /tmp -- especially for handling lots of text. (If your text is confidential and your umask (Section 49.4) isn't set to make new files unreadable by other users, try using a more private directory.) Here are some abbreviations from my .exrc (Section 17.30) file:

Go to http://examples.oreilly.com/upt3 for more information on: exrc

>     ab aW w! /tmp/jerry.temp.a
>     ab aR r /tmp/jerry.temp.a
>     ab bW w! /tmp/jerry.temp.b
>     ab bR r /tmp/jerry.temp.b
>        ...

I use those abbreviations this way. To write the current and next 45 lines to temporary file a, I type this command in one vi session:

>     :.,+45 aW

To read those saved lines into another vi session, I use:

>     :aR

You can do the same thing in a single vi session by using named buffers (Section 17.4), but temporary files are the only method that works between two separate vi sessions.

-- JP

Copyright © 2003 O'Reilly & Associates. All rights reserved.