home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- _6. _C_U_T _B_U_F_F_E_R_S
-
- When Elvis deletes text, it stores that text in a cut
- buffer. This happens in both visual mode and EX mode.
- There is no practical limit to how much text a cut buffer
- can hold.
-
- There are 36 cut buffers: 26 named buffers ("a through
- "z), 9 anonymous buffers ("1 through "9), and 1 extra cut
- buffer (".).
-
- In EX mode, the :move and :copy commands use a cut
- buffer to temporarily hold the text to be moved/copied.
-
- _6._1. _P_u_t_t_i_n_g _t_e_x_t _i_n_t_o _a _C_u_t _B_u_f_f_e_r
-
- In visual mode, text is copied into a cut buffer when
- you use the d, y, c, C, s, or x commands. There are also a
- few others.
-
- By default, the text goes into the "1 buffer. The text
- that used to be in "1 gets shifted into "2, "2 gets shifted
- into "3, and so on. The text that used to be in "9 is lost.
- This way, the last 9 things you deleted are still accessi-
- ble.
-
- You can also put the text into a named buffer -- "a
- through "z. To do this, you should type the buffer's name
- (two keystrokes: a double-quote and a lowercase letter)
- before the command that will cut the text. When you do
- this, "1 through "9 are not affected by the cut.
-
- You can append text to one of the named buffers. To do
- this, type the buffer's name in uppercase (a double-quote
- and an uppercase letter) before the d/y/c/C/s/x command.
-
- The ". buffer is special. It isn't affected by the
- d/y/c/C/s/x command. Instead, it stores the text that you
- typed in the last time you were in input mode. It is used
- to implement the . visual command, and ^A in input mode.
-
- In EX mode (also known as colon mode), the :delete,
- :change, and :yank commands all copy text into a cut buffer.
- Like the visual commands, these EX commands normally use the
- "1 buffer, but you can use one of the named buffers by giv-
- ing its name after the command. For example,
-
- :20,30y a
-
-
- will copy lines 20 through 30 into cut buffer "a.
-
- You can't directly put text into the ". buffer, or the
- "2 through "9 buffers.
-
-
-
- June 13, 1992
-
-
-
-
-
- 6-2 CUT BUFFERS 6-2
-
-
- _6._2. _P_a_s_t_i_n_g _f_r_o_m _a _C_u_t _B_u_f_f_e_r
-
- There are two styles of pasting: line-mode and
- character-mode. If a cut buffer contains whole lines (from
- a command like "dd") then line-mode pasting is used; if it
- contains partial lines (from a command like "dw") then
- character-mode pasting is used. The EX commands always cut
- whole lines.
-
- Character-mode pasting causes the text to be inserted
- into the line that the cursor is on.
-
- Line-mode pasting inserts the text on a new line above
- or below the line that the cursor is on. It doesn't affect
- the cursor's line at all.
-
- In visual mode, the p and P commands insert text from a
- cut buffer. Uppercase P will insert it before the cursor,
- and lowercase p will insert it after the cursor. Normally,
- these commands will paste from the "1 buffer, but you can
- specify any other buffer to paste from. Just type its name
- (a double-quote and another character) before you type the P
- or p.
-
- In EX mode, the (pu)t command pastes text after a given
- line. To paste from a buffer other that "1, enter its name
- after the command.
-
- _6._3. _M_a_c_r_o_s
-
- The contents of a named cut buffer can be executed as a
- series of ex/vi commands.
-
- To put the instructions into the cut buffer, you must
- first insert them into the file, and then delete them into a
- named cut buffer.
-
- To execute a cut buffer's contents as EX commands, you
- should give the EX command "@" and the name of the buffer.
- For example, :@z will execute "z as a series of EX commands.
-
- To execute a cut buffer's contents as visual commands,
- you should give the visual command "@" and the letter of the
- buffer's name. The visual "@" command is different from the
- EX "@" command. They interpret the cut buffer's contents
- differently.
-
- The visual @ command can be rather finicky. Each char-
- acter in the buffer is interpretted as a keystroke. If you
- load the instructions into the cut buffer via a "zdd com-
- mand, then the newline character at the end of the line will
- be executed just like any other character, so the cursor
- would be moved down 1 line. If you don't want the cursor to
- move down 1 line at the end of each @z command, then you
-
-
-
- June 13, 1992
-
-
-
-
-
- 6-3 CUT BUFFERS 6-3
-
-
- should load the cut buffer by saying 0"zD instead.
-
- Although cut buffers can hold any amount of text, Elvis
- can only _e_x_e_c_u_t_e small buffers. The size limit is roughly
- 1000 characters, for either EX macros or VI macros. If a
- buffer is too large to execute, an error message is
- displayed.
-
- You can't nest :@ commands. You can't run :@ commands
- from your .exrc file, or any other :source file either.
- Similarly, you can't run a :source command from within an @
- command. Hopefully, these restrictions will be lifted in a
- later version.
-
- _6._4. _T_h_e _E_f_f_e_c_t _o_f _S_w_i_t_c_h_i_n_g _F_i_l_e_s
-
- When Elvis first starts up, all cut buffers are empty.
- When you switch to a different file (via the :n or :e com-
- mands perhaps) the 9 anonymous cut buffers are emptied
- again, but the other 27 buffers ("a through "z, and ".)
- retain their text.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- June 13, 1992
-
-
-