home *** CD-ROM | disk | FTP | other *** search
- From: mool@oce.nl (Bram Moolenaar)
- Newsgroups: comp.sources.misc
- Subject: v44i025: vim - Vi IMproved editor, v3.0, Part06/26
- Date: 16 Aug 1994 21:17:45 -0500
- Organization: Sterling Software
- Sender: kent@sparky.sterling.com
- Approved: kent@sparky.sterling.com
- Message-ID: <32rs09$kc6@sparky.sterling.com>
- X-Md4-Signature: 834ad53e3ce1324fc7f6c7c97cdd2dee
-
- Submitted-by: mool@oce.nl (Bram Moolenaar)
- Posting-number: Volume 44, Issue 25
- Archive-name: vim/part06
- Environment: UNIX, AMIGA, MS-DOS, Windows NT
- Supersedes: vim: Volume 41, Issue 50-75
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: vim/doc/reference.doc.C vim/macros/maze/maze_mac.UU
- # vim/src/ascii.h
- # Wrapped by kent@sparky on Mon Aug 15 21:44:00 1994
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 6 (of 26)."'
- if test -f 'vim/doc/reference.doc.C' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/doc/reference.doc.C'\"
- else
- echo shar: Extracting \"'vim/doc/reference.doc.C'\" \(48444 characters\)
- sed "s/^X//" >'vim/doc/reference.doc.C' <<'END_OF_FILE'
- X comes from the 'scroll' option (default: half a
- X screen). If [count] given, first set 'scroll' option
- X to [count].
- X
- X<SC_UP> or
- XCTRL-B Window [count] pages Backwards (upwards) in the
- X buffer.
- X
- XWindow repositioning:
- X
- Xz<CR> Redraw, line [count] at top of window (default
- X cursor line). Put cursor at first non-blank in the
- X line.
- X
- Xzt Like "z<CR>", but leave the cursor in the same
- X column. {not in Vi}
- X
- Xz{height}<CR> Redraw, make window {height} lines tall. This is
- X useful to make the number of lines small when screen
- X updating is very slow. Cannot make the height more
- X than the physical screen height.
- X
- Xz. Redraw, line [count] at center of window (default
- X cursor line). Put cursor at first non-blank in the
- X line.
- X
- Xzz Like "z.", but leave the cursor in the same column.
- X {not in Vi}
- X
- Xz- Redraw, line [count] at bottom of window (default
- X cursor line). Put cursor at first non-blank in the
- X line.
- X
- Xzb Like "z-", but leave the cursor in the same column.
- X {not in Vi}
- X
- XThese commands move the contents of the window. If the cursor position is
- Xmoved off of the window, the cursor is moved onto the window. A page is the
- Xnumber of lines in the window minus two. The mnemonics for these commands
- Xmay be a bit confusing. Remember that the commands refer to moving the
- Xwindow upwards or downwards in the buffer. But when the window moves upwards
- Xin the buffer, the text in the window moves downwards on your screen.
- X
- X
- X 8. Tags
- X
- X:ta[g][!] {ident} Jump to the definition of {ident}, using the
- X information in the tags file. Put {ident} in the tag
- X stack. See below for [!].
- X
- XCTRL-] ":ta" to the identifier under or after cursor. Put
- X the identifier in the tag stack. {Vi: identifier
- X after the cursor}
- X
- XCTRL-T Jump to [count] older entry in the tag stack
- X (default 1). {not in Vi}
- X
- X:[count]po[p][!] Jump to [count] older entry in tag stack (default 1).
- X See below for [!]. {not in Vi}
- X
- X:[count]ta[g][!] Jump to [count] newer entry in tag stack (default 1).
- X See below for [!]. {not in Vi}
- X
- X:tags Show the contents of the tag stack. The active
- X entry is marked with a <>>. {not in Vi}
- X
- XA tag is an identifier that appears in the "tags" file. It is a sort of label
- Xthat can be jumped to. For example: In C programs each function name can be
- Xused as a tag.
- X
- XWith the ":tag" command the cursor will be positioned on the tag. With the
- XCTRL-] command, the identifier on which the cursor is standing is used as the
- Xtag. If the cursor is not on an identifier, the first identifier rightwards
- Xof the cursor is used.
- X
- XThe 'ignorecase' option can be used to make the tag search case insensitive.
- X
- XIf the tag is in the current file this will always work. Otherwise the
- Xperformed actions depend on whether the current file was changed, whether a !
- Xis added to the command and on the 'autowrite' option:
- X
- X tag in file autowrite
- Xcurrent file changed ! option action
- X-----------------------------------------------------------------------------
- X yes x x x goto tag
- X no no x x read other file, goto tag
- X no yes yes x abandon current file, read other file, goto
- X tag
- X no yes no on write current file, read other file, goto
- X tag
- X no yes no off fail
- X-----------------------------------------------------------------------------
- X
- X- If the tag is in the current file, the command will always work.
- X- If the tag is in another file and the current file was not changed, the
- X other file will be made the current file and read into the buffer.
- X- If the tag is in another file, the current file was changed and a ! is
- X added to the command, the changes to the current file are lost, the other
- X file will be made the current file and read into the buffer.
- X- If the tag is in another file, the current file was changed and the
- X 'autowrite' option is set, the current file will be written, the other
- X file will be made the current file and read into the buffer.
- X- If the tag is in another file, the current file was changed and the
- X 'autowrite' option is not set, the command will fail. If you want to save
- X the changes, use the ":w" command and then use ":tag" without an argument.
- X This works because the tag is put on the stack anyway. If you want to lose
- X the changes you can use the ":tag!" command.
- X
- XThe ":tag" command works very well for C programs. If you see a call to a
- Xfunction and wonder what that function does, position the cursor inside of
- Xthe function name and hit CTRL-]. This will bring you to the function
- Xdefinition. An easy way back is with the CTRL-T command. Also read about the
- Xtag stack below.
- X
- XA tags file can be created with the external command 'ctags'. It will
- Xcontain a tag for each function. Some versions of 'ctags' will also make a
- Xtag for each "#defined" macro.
- X
- XThe lines in the tags file should have this format:
- X
- X {tag}{separator}{filename}{separator}{command}
- X
- X{tag} the identifier
- X{separator} one or more <TAB> or space characters
- X{filename} the file that contains the definition of {tag}
- X{command} the Ex command that positions the cursor on the tag.
- X
- XThe command can be any Ex command, but normally it is a search command like
- X"/^main(argc, argv)". If it is a search command, and the search fails,
- Xanother try is done to search for "^main(" (the tag with <^> prepended and
- X<)> appended). When using function names, this will find the function name
- Xwhen it is in column 0. This will help when the arguments to the function
- Xhave changed since the tags file was made. If this search also fails another
- Xtry is done with "^[#a-zA-Z_].*main(". This means: A line starting with <#>
- Xor an identifier and containing the tag followed by <(>. This will find
- Xmacro names and function names with a type prepended. {the two extra
- Xsearches are not in vi}.
- X
- X{In vi the :tag command sets a new search pattern when the tag is searched
- Xfor. In Vim this is not done, the previous search pattern is still
- Xremembered. The search pattern for the tag is not remembered.}.
- X
- X
- XThe 'tags' option is a list of file names separated by spaces. Each of these
- Xfiles is searched for the tag. This can be used to use a different file than
- Xthe default file "tags". It can also be used to access a common tags file.
- XFor example:
- X
- X:set tags=tags\ /home/user/commontags
- X
- XThe tag will first be searched for in the file "tags" in the current
- Xdirectory. If it is not found there the file "/home/user/commontags" will be
- Xsearched for the tag. The backslash is required for the space to be included
- Xin the string option.
- X
- XIf the 'tagrelative' option is set (which is the default) and using a tag file
- Xin another directory, file names in that tag file are relative to the
- Xdirectory where the tag file is.
- X
- X
- XThe tags that you use are remembered in the tag stack. You can print this
- Xstack with the ":tags" command. The result looks like this:
- X
- X # TO tag FROM line in file
- X 1 main 1 harddisk2:text/vim/test
- X> 2 FuncA 58 -current-
- X 3 FuncC 357 harddisk2:text/vim/src/amiga.c
- X
- XThis list shows the tags that you jumped to and the cursor position before that
- Xjump. The older tags are at the top, the newer at the bottom.
- X
- XThe <>> points to the active entry. This is the tag that will be used by the
- Xnext ":tag" command. The CTRL-T and ":pop" command will use the position
- Xabove the active entry.
- X
- XThe line number and file name are remembered to be able to get back to where
- Xyou were before the tag command. The line number will be correct, also when
- Xdeleting/inserting lines, unless this was done by another program (e.g.
- Xanother instance of Vim).
- X
- XYou can jump to previously used tags with several commands. Some examples:
- X
- X ":pop" or CTRL-T to position before previous tag
- X {count}CTRL_T to position before {count} older tag
- X ":tag" to newer tag
- X ":0tag" to last used tag
- X
- XThe most obvious way to use this is while browsing through the call graph of
- Xa program. Consider the following call graph:
- X
- X main ---> FuncA ---> FuncC
- X ---> FuncB
- X
- X(Explanation: main calls FuncA and FuncB; FuncA calls FuncC).
- XYou can get from main to FuncA by using CTRL-] on the call to FuncA. Then
- Xyou can CTRL-] to get to FuncC. If you now want to go back to main you can
- Xuse CTRL-T twice. Then you can CTRL-] to FuncB.
- X
- XIf you issue a ":ta {ident}" or CTRL-] command, this tag is inserted at the
- Xcurrent position in the stack. If the stack was full (it can hold up to 20
- Xentries), the oldest entry is deleted and the older entries shift one
- Xposition up (their index number is decremented by one). If the last used
- Xentry was not at the bottom, the entries below the last used one are
- Xdeleted. This means that an old branch in the call graph is lost. After the
- Xcommands explained above the tag stack will look like this:
- X
- X # TO tag FROM line in file
- X 1 main 1 harddisk2:text/vim/test
- X 2 FuncB 59 harddisk2:text/vim/src/main.c
- X>
- X
- X
- X 9. Inserting text
- X
- XThe following commands can be used to insert new text into the buffer. They
- Xcan all be undone. The non-Ex commands can be repeated with the "." command.
- X
- Xa Append text after the cursor [count] times.
- X
- XA Append text at the end of the line [count] times.
- X
- Xi Insert text before the cursor [count] times.
- X
- XI Insert text before the first CHAR on the line
- X [count] times.
- X
- Xo Begin a new line below the cursor and insert text,
- X repeat [count] times. {Vi: blank [count] screen
- X lines}
- X
- XO Begin a new line above the cursor and insert text,
- X repeat [count] times. {Vi: blank [count] screen
- X lines}
- X
- XThese commands are used to start inserting text. They can be undone and
- Xrepeated. You can end Insert mode with <ESC>. See the section "Insert and
- XReplace mode" for the other special characters in Insert mode. The effect of
- X[count] takes place after Insert mode is exited.
- X
- X:r[ead] [name] Insert the file [name] (default: current file) below
- X the cursor.
- X
- X:{range}r[ead] [name] Insert the file [name] (default: current file) below
- X the specified line.
- X
- X:r[ead] !{cmd} Execute {cmd} and insert its standard output below
- X the cursor.
- X
- XThese commands insert the contents of a file, or the output of a command,
- Xinto the buffer. They can be undone. They cannot be repeated with the "."
- Xcommand. They work on a line basis, insertion starts below the line in which
- Xthe cursor is, or below the specified line. To insert text above the first
- Xline use the command ":0r {name}".
- X
- XThe <LF> character is recognized as end-of-line marker. If the 'textmode'
- Xoption is set, a <CR> in front of an <LF> is ignored and a CTRL-Z at the end
- Xof the file is ignored. The 'textmode' option is default on for MSDOS.
- X
- XIf the 'textauto' option is set Vim tries to recognize the type of
- Xend-of-line marker (see 5.2 how this is done). However, the 'textmode'
- Xoption will not be changed. Only while reading one file the text mode is
- Xused or not.
- X
- XOn non-MSDOS systems the message "[textmode]" is shown if a file is read in
- Xtext mode, to remind you that something unusual is done. On MSDOS the
- Xmessage "[notextmode]" is shown if a file is read without text mode.
- X
- X
- X 10. Deleting text
- X
- X["x]x Delete [count] characters under and after the cursor
- X [into register x] (not linewise).
- X
- X["x]X Delete [count] characters before the cursor [into
- X register x] (not linewise).
- X
- X["x]d{motion} Delete text that is moved over [into register x].
- X See below for exception.
- X
- X["x]dd Delete [count] lines [into register x] (linewise).
- X
- X["x]D Delete the characters under the cursor until the end
- X of the line and [count]-1 more lines [into register
- X x]; synonym for d$ (not linewise).
- X
- X{visual}["x]x or
- X{visual}["x]d Delete the highlighted text [into register x] (see
- X the chapter on Visual mode). {not in Vi}
- X
- X{visual}["x]X or
- X{visual}["x]D Delete the highlighted lines [into register x] (see
- X the chapter on Visual mode). {not in Vi}
- X
- X:[range]d[elete] [x] Delete [range] lines (default: current line) [into
- X register x].
- X
- X:[range]d[elete] [x] {count}
- X Delete {count} lines, starting with [range]
- X (default: current line, see 4.4.4) [into register
- X x].
- X
- XThese commands delete text. They can be repeated with the "." command
- X(except ":d") and undone. Use Visual mode to delete blocks of text. See
- X"Copying and moving text" for an explanation of registers.
- X
- XAn exception for the d{motion} command: If the motion is not linewise, the
- Xstart and end of the motion are not in the same line and before the start
- Xand after the end are only blanks, the delete becomes linewise. This means
- Xthat the blank line that would remain is also deleted.
- X
- X
- XJ Join [count] lines, with a minimum of two lines.
- X
- X{visual}J Join the highlighted lines, with a minimum of two
- X lines. {not in Vi}
- X
- X:[range]j[oin][!] Join [range] lines. Same as "J", except when [!] is
- X given, then no spaces will be inserted or deleted.
- X When [range] is given and the start and end of the
- X range are equal, nothing happens. Default is to join
- X two lines.
- X
- X:[range]j[oin][!] {count}
- X Join {count} lines, starting with [range] (default:
- X current line, see 4.4.4). Same as "J", except when
- X [!] is given, then no spaces will be inserted or
- X deleted.
- X
- XThese commands delete the newline between lines. This has the effect of
- Xjoining them into one line. They can be repeated (except ":j") and undone.
- X
- XOne space is inserted in place of the <LF>, unless the line ended with a
- Xspace, <TAB> or the next line started with a <)>. If the next line has
- Xleading white space it is deleted first. If the 'joinspaces' option is set,
- Xtwo spaces are inserted after a period.
- X
- X
- X 11. Changing text
- X
- XThe following commands can be used to change text, that is delete some text
- Xand insert something else, with one command. They can all be undone. The
- Xnon-Ex commands can be repeated with the "." command.
- X
- X
- X11.1 Delete and insert
- X
- XR Enter Replace mode: Each character you type replaces
- X an existing character, starting with the character
- X under the cursor. Repeat the entered text [count]-1
- X times.
- X
- X["x]c{motion} Delete {motion} text [into register x] and start
- X insert.
- X
- X["x]cc Delete [count] lines [into register x] and start
- X insert (linewise). If 'autoindent' is set, preserve
- X the indent of the first line.
- X
- X["x]C Delete from the cursor position to the end of the
- X line and [count]-1 more lines [into register x], and
- X start insert. Synonym for c$ (not linewise).
- X
- X["x]s Delete [count] characters [into register x] and start
- X insert (s stands for Substitute). Synonym for "cl"
- X (not linewise).
- X
- X["x]S Delete [count] lines [into register x] and start
- X insert. Synonym for "cc" (not linewise).
- X
- X{visual}["x]c or
- X{visual}["x]r or
- X{visual}["x]s Delete the highlighted text [into register x] and
- X start insert (see the chapter on Visual mode). {not
- X in Vi}
- X
- X{visual}["x]C or
- X{visual}["x]R or
- X{visual}["x]S Delete the highlighted lines [into register x] and
- X start insert (see the chapter on Visual mode). {not
- X in Vi}
- X
- XYou can end Insert and Replace mode with <ESC>. See the section "Insert and
- XReplace mode" for the other special characters in these modes. The effect of
- X[count] takes place after Insert or Replace mode is exited. {Vi: does not
- Xdirectly delete the text, but puts a <$> at the last deleted character}
- XSee "Copying and moving text" for an explanation of registers.
- X
- XReplace mode is just like Insert mode, except that for every character you
- Xenter, one character is deleted. If the end of a line is reached, further
- Xcharacters are appended (just like Insert mode). In Replace mode the
- Xbackspace key restores the original text (if there was any) (see section
- X"Insert and Replace mode").
- X
- XSpecial case: "cw" and "cW" are treated like "ce" and "cE" if the cursor is
- Xon a non-blank. This is because "cw" is interpreted as change-word, and a
- Xword does not include the following white space. {Vi: "cw" when on a blank
- Xfollowed by other blanks changes only the first blank; this is probably a
- Xbug, because "dw" deletes all the blanks}
- X
- X
- X11.2 Simple changes
- X
- Xr<char> Replace the character under the cursor by <char>. If
- X <char> is a <CR> or <LF> the character will be
- X replaced by a line break. If a [count] is given that
- X many characters will be replaced by [count] <char>s
- X or line breaks {Vi: "5r<CR>" replaces five
- X characters with a single line break}
- X
- X~ 'notildeop' option: switch case of the character
- X under the cursor and move the cursor to the right.
- X If a [count] is given do that many characters {Vi:
- X no count}
- X
- X~{motion} 'tildeop' option: switch case of {motion} text. {Vi:
- X tilde cannot be used as an operator}
- X
- X{visual}~ switch case of highlighted text (see the chapter on
- X Visual mode). {not in Vi}
- X
- X{visual}U Make highlighted text uppercase (see the chapter on
- X Visual mode). {not in Vi}
- X
- X{visual}u Make highlighted text lowercase (see the chapter on
- X Visual mode). {not in Vi}
- X
- XCTRL-A Add [count] to the number at or after the cursor.
- X {not in Vi}
- X
- XCTRL-X Subtract [count] from the number at or after the
- X cursor. {not in Vi}
- X
- XThe CTRL-A and CTRL-X commands work for (signed) decimal numbers and
- Xunsigned octal and hexadecimal numbers. Numbers starting with '0x' or '0X'
- Xare assumed to be hexadecimal. To decide whether the hexadecimal number
- Xshould be printed uppercase or not, the case of the rightmost letter in the
- Xnumber is considered. If there is no letter in the current number, the
- Xpreviously detected case is used. Numbers starting with a <0> are considered
- Xto be octal. Other numbers are decimal and may be preceded with a minus
- Xsign. If the cursor is on a number, that one will be used. Otherwise the
- Xnumber right of the cursor will be used.
- X
- XThe CTRL-A command is very useful in a macro. Example: How to make a
- Xnumbered list.
- X
- X1. Create the first entry. The entry should start with a number.
- X2. qa - start recording into buffer <a>
- X3. Y - yank the entry
- X4. p - put a copy of the entry below the first one
- X5. CTRL-A - increment the number
- X6. q - stop recording
- X7. <count>@a - repeat the yank, put and increment <count> times
- X
- X
- X<{motion} Shift the {motion} lines one shiftwidth leftwards.
- X
- X<< Shift [count] lines one shiftwidth leftwards.
- X
- X{visual}< Shift the highlighted lines [count] shiftwidth
- X leftwards (see the chapter on Visual mode). {not in
- X Vi}
- X
- X>{motion} Shift {motion} lines one shiftwidth rightwards.
- X
- X>> Shift [count] lines one shiftwidth rightwards.
- X
- X{visual}> Shift the highlighted lines [count] shiftwidth
- X rightwards (see the chapter on Visual mode). {not in
- X Vi}
- X
- X:[range]< Shift [range] lines left. Repeat '<' for multiple
- X shifts.
- X
- X:[range]< {count} Shift {count} lines left, starting with [range]
- X (default current line, see 4.4.4). Repeat '<' for
- X multiple shifts.
- X
- X:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
- X lines to [indent] (default 0). {not in Vi}
- X
- X:[range]> Shift {count} [range] lines right. Repeat '>' for
- X multiple shifts.
- X
- X:[range]> {count} Shift {count} lines right, starting with [range]
- X (default current line, see 4.4.4). Repeat '>' for
- X multiple shifts.
- X
- XThe ">" and "<" commands are handy for changing the indent within programs.
- XThe size of the white space which is inserted or deleted can be set with the
- X'shiftwidth' option. Normally the 'shiftwidth' option is set to 8, but you
- Xcan set it to e.g. 3 to make smaller indents. The shift leftwards stops when
- Xthere is no indent. The shift right does not do anything with empty lines.
- X
- XIf the 'shiftround' option is set, the indent is rounded to a multiple of
- X'shiftwidth'.
- X
- XIf the 'smartindent' option is set, lines starting with <#> will not be
- Xshifted right.
- X
- XWhen the 'expandtab' option if off (this is the default) <TAB>s are used as
- Xmuch as possible to make the indent. You can use ">><<" to replace an indent
- Xmade out of spaces with the same indent made out of <TAB>s (and a few
- Xspaces if necessary). If the 'expandtab' option is on, only spaces are
- Xused. Then you can use ">><<" to replace <TAB>s in the indent by spaces.
- X
- XTo move a line several 'shiftwidth's use the visual mode or the ":"
- Xcommands. For example:
- X Vjj4> move three lines 4 indents to the right
- X :<<< move current line 3 indents to the left
- X :>> 5 move 5 lines 2 indents to the right
- X
- X
- XQ{motion} Format the lines that were moved over. The length of
- X each line will be restricted to the width set with
- X the 'textwidth' option. If the 'textwidth' option is
- X 0, all lines will be joined together. If the
- X 'autoindent' option is set, the indent of the first
- X line is used for the following lines. The
- X 'formatprg' option can be set to the name of an
- X external program, which will be used instead of the
- X internal function. The 'textwidth' option will then
- X not be used. {not in Vi}
- X
- X:[range]ce[nter] [width]
- X Center lines in [range] between [width] columns
- X (default 'textwidth' or 80 when 'textwidth' is 0).
- X {not in Vi}
- X
- X:[range]ri[ght] [width]
- X right align lines in [range] at [width] columns
- X (default 'textwidth' or 80 when 'textwidth' is 0).
- X {not in Vi}
- X
- X
- X11.3 Complex changes
- X
- X!{motion}{filter} Filter {motion} text through the external program
- X {filter}.
- X
- X!!{filter} Filter [count] lines through the external program
- X {filter}.
- X
- X{visual}!{filter} Filter the highlighted lines through the external
- X program {filter} (see the chapter on Visual mode).
- X {not in Vi}
- X
- X:{range}![!]{filter} [!][arg]
- X Filter {range} lines through the external program
- X {filter}. The optional bangs are replaced with the
- X latest given command. The optional [arg] is appended.
- X
- X={motion} Filter {motion} lines through the external program
- X given with the 'equalprg' option (default:
- X "indent"). {Vi: when 'lisp' option is set, autoindent
- X {motion} lines}
- X
- X== Filter [count] lines through the external program
- X given with the 'equalprg' option (default: indent).
- X {not in Vi}
- X
- X{visual}= Filter the highlighted lines through the external
- X program given with the 'equalprg' option (default:
- X indent) (see the chapter on Visual mode). {not in
- X Vi}
- X
- XA filter is a program that accepts text at standard input, changes it in some
- Xway, and sends it to standard output. The commands above can be used to send
- Xsome text through a filter. An example of a filter is "sort", which sorts
- Xlines alphabetically. The "indent" program is used to pretty indent C
- Xprograms (you need a version of indent that works like a filter, not all
- Xversions do that). The shell, given with the 'shell' option, is used to
- Xexecute the command (See also the 'shelltype' option).
- XThe filter commands can be redone with ".". There cannot be a comment (with
- X<">) after the ":!" command.
- X
- X
- X:[range]s[ubstitute]/{pattern}/{string}/[g][c][r] [count]
- X For each line in [range] replace {pattern} by
- X {string}. See below for the flags.
- X
- X:[range]s[ubstitute] [g][c][r] [count]
- X:[range]&[g][c][r] [count]
- X Repeat last :substitute with same search pattern and
- X substitute string. The flags may be different (see
- X below).
- X
- X:[range]~[g][c][r] [count]
- X Repeat last substitute with same substitute string
- X but with last used search pattern. This is like
- X "&r". See explanation for [r] below.
- X
- X& Synonym for ":s//~/" (repeat last substitute).
- X
- XThe arguments that can be given to the substitute commands:
- X[g] All occurrences in the line are replaced. Otherwise only the first
- X occurrence in the line is replaced. If the 'edcompatible' option is
- X set this flag is remembered and toggled each time it is used. It is
- X reset when a new search pattern is given. If the 'gdefault' option
- X is set, this flag is default on. Give the [g] to switch it on.
- X[c] Each substitute has to be confirmed. The cursor is positioned on the
- X matching string. You can type <y> to substitute, <n> to skip, <q> to
- X quit substituting. If the 'edcompatible' option is set this flag is
- X remembered and toggled each time it is used. It is reset when a new
- X search pattern is given.
- X[r] When the search pattern is empty use the previously used search
- X pattern instead of the search pattern from the last substitute.
- X If the last command that did a search was a substitute there is no
- X effect. If the last command was another search command, like
- X "/" or ":global", the pattern from that command is used.
- X[count] That many lines are are searched, starting with the last line number
- X in [range] (default current line, see 4.4.4).
- X
- XIf the {pattern} for the substitute command is empty, the pattern from the
- Xlast substitute command is used. With the [r] flag the pattern from the last
- Xsubstitute or search command ("/", ":global" and the like) is used.
- X
- XInstead of the </> which surrounds the pattern and replacement string, you
- Xcan use any other character, but not an alphanumeric character, <"> or <|>
- Xor <#>. This is useful if you want to include a </> in the search pattern or
- Xreplacement string. Example: ":s+/+//+"
- X
- XFor the definition of a pattern see 6.5, "Pattern searches".
- X
- XSome characters in {string} have a special meaning:
- X
- Xmagic nomagic action
- X & \& replaced by the whole matched pattern
- X \& & replaced by &
- X \0 replaced by the whole matched pattern
- X \1 replaced by the matched pattern in the first pair of ()
- X \2 replaced by the matched pattern in the second pair of ()
- X .. ..
- X \9 replaced by the matched pattern in the ninth pair of ()
- X ~ \~ replaced by the {string} of the previous substitute
- X \~ ~ replaced by ~
- X \u next character made uppercase
- X \U following characters made uppercase
- X \l next character made lowercase
- X \L following characters made lowercase
- X \e end of /u, /U, /l and /L
- X \E end of /u, /U, /l and /L
- X <CR> split line in two at this point
- X CTRL-V <CR> insert a carriage-return (CTRL-M)
- X
- XExamples:
- X:s/a\|b/xxx\0xxx/g modifies "a b" in "xxxaxxx xxxbxxx"
- X:s/\([abc]\)\([efg]\)/\2\1/g modifies "af fa bg" in "fa fa gb"
- X:s/abcde/abc^Mde/ modifies "abcde" in "abc", "de" (two lines)
- X:s/$/^V^M/ modifies "abcde" in "abcde^M"
- X
- XNote: To insert a ^M you have to type CTRL-V <CR>. To insert a ^V you have
- Xto type CTRL-V CTRL-V. So to insert the ^V^M in the last example you have to
- Xtype CTRL-V CTRL-V CTRL-V <CR>.
- X
- XBecause CTRL-V <CR> inserts a <CR>, it is impossible to insert a CTRL-V just
- Xin front of a line break. You will have to split it up in two parts:
- X :s/foo/^Vxxxx/
- X :s/xxxx/^M/
- X
- XWhen using parentheses in combination with <|>, like in \([ab]\)\|\([cd]\),
- Xeither the first or second pattern in parentheses did not match, so either
- X\1 or \2 is empty. Example:
- X:s/\([ab]\)\|\([cd]\)/\1x/g modifies "a b c d" in "ax bx x x"
- X
- X
- X 12. Copying and moving text
- X
- X"<a-zA-Z0-9.%:"> Use register <a-zA-Z0-9.%"> for next delete, yank or
- X put (use uppercase character to append with delete
- X and yank) (<.> only works with put).
- X
- X:di[splay] Display the contents of numbered and named registers.
- X {Vi: no such command}
- X
- X["x]y{motion} Yank {motion} text [into register x].
- X
- X["x]yy Yank [count] lines [into register x] (linewise).
- X
- X["x]Y With 'noyankendofline' option: yank [count] lines
- X [into register x] (synonym for yy, linewise); with
- X 'yankendofline' option: yank until end of line
- X (synonym for y$, not linewise).
- X
- X{visual}["x]y Yank the highlighed text [into register x] (see the
- X chapter on Visual mode). {not in Vi}
- X
- X{visual}["x]Y Yank the highlighted lines [into register x] (see the
- X chapter on Visual mode). {not in Vi}
- X
- X:[range]y[ank] [x] Yank [range] lines [into register x].
- X
- X:[range]y[ank] [x] {count}
- X Yank {count} lines, starting with last line number
- X in [range] (default: current line, see 4.4.4), [into
- X register x].
- X
- X["x]p Put the text [from register x] after the cursor
- X[count]
- X times. {Vi: no count}
- X
- X["x]P Put the text [from register x] before the cursor
- X [count] times. {Vi: no count}
- X
- X:[line]pu[t] [x] Put the text [from register x] after [line] (default
- X current line).
- X
- X:[line]pu[t]! [x] Put the text [from register x] before [line] (default
- X current line).
- X
- X["x]]p like "p", but adjust the indent to the current line.
- X {not in Vi}
- X
- X["x][p like "P", but adjust the indent to the current line.
- X {not in Vi}
- X
- XThese commands can be used to copy text from one place to another. This is
- Xdone by first getting the text into a register with a yank, delete or change
- Xcommand. The register can then be inserted with a put command. All registers
- Xare kept when changing files. Thus you can also use this to move text from
- Xone file to another (the CTRL-^ command is a quick way to toggle between two
- Xfiles).
- X
- XThe put commands can be repeated with "." (except for :put) and undone. If the
- Xcommand that was used to get the text into the register was linewise, the
- Xtext will be inserted below ("p") or above ("P") the line where the cursor
- Xis. Otherwise the text will be inserted after ("p") or before ("P") the
- Xcursor. With the ":put" command the text will always be inserted in the next
- Xline. You can exchange two characters with the command sequence "xp". You
- Xcan exchange two lines with the command sequence "ddp". You can exchange
- Xtwo words with the command sequence "deep" (start with the cursor in the
- Xblank space before the first word). The "']" or "`]" command can be used
- Xafter the put command to move the cursor to the end of the inserted text,
- X"'[" or "`[" to move the cursor to the start.
- X
- XIf the command that was used to get the text into the register used
- Xblockwise Visual mode, the block of text will be inserted before ("P") or
- Xafter ("p") the cursor column, in the current and next lines. Vim will make
- Xthe whole block of text start in the same column. Thus the inserted text
- Xlooks the same as when it was yanked or deleted. Some <TAB> characters may
- Xbe replaced by spaces to make this happen. However, if the width of the
- Xblock is not a multiple of a <TAB> width and the text after the inserted
- Xblock contains <TAB>s, that text may be misaligned.
- X
- XThere are four types of registers: The unnamed register, 10 numbered
- Xregisters, 26 named registers and two read-only registers.
- X The unnamed register is the register where all text deleted with
- Xthe "d", "c", "s", "x" commands or copied with the yank "y" command is
- Xplaced, regardless of whether or not a specific register was used (e.g.
- X"xdd). The contents of this register are used by any put command (p or P)
- Xwhich does not specify a register. Additionally it can be accessed by the
- Xname <">. This means you have to type two double quotes. {Vi: register
- Xcontents lost when changing files, no <">}
- X The numbered registers are filled with yank and delete commands.
- XNumbered register <0> is filled with the last yank command, unless another
- Xregister was specified with ["x]. Numbered register <1> is filled with the
- Xtext that was deleted by each delete or change command, unless another
- Xregister was specified or the text is less than one line (text deleted with
- X"x" or "dw" will not be put in a numbered register). The contents of
- Xregister <1> are put in <2>, <2> in <3>, and so forth. The contents of
- Xregister <9> are lost. {Vi: numbered register contents are lost when
- Xchanging files; register 0 does not exist}
- X The named registers are only filled when you say so. They are named
- X<a> to <z> normally. If you use an uppercase letter, the same registers as
- Xwith the lower case letter is used, but the text is appended to the previous
- Xregister contents. With a lower case letter the previous contents are lost.
- X The read-only registers are <%>, <:> and <.>. They can only be used
- Xwith the commands "p", "P" and ":put". <.> contains the last inserted
- Xtext (the same as what is inserted with the insert mode commands CTRL-A and
- XCTRL-@). <%> contains the name of the current file. <:> contains the last
- Xcommand line, it can also be used with "@", "@:" repeats the last command
- Xline.
- X
- XIf you use a put command without specifying a register, the register that
- Xwas last written to is used (this is also the contents of the unnamed
- Xregister). If you are confused, use the ":dis" command to find out what will
- Xbe put (all named and numbered registers are displayed; the unnamed register
- Xis labelled <">).
- X
- XThe next three commands always work on whole lines.
- X
- X:[range]co[py] {address}
- X Copy the lines given by [range] to below the line
- X given by {address}.
- X
- X:t Synonym for copy.
- X
- X:[range]m[ove] {address}
- X Move the lines given by [range] to below the line
- X given by {address}.
- X
- X
- X 13. Visual mode
- X
- XVisual mode is a flexible and easy way to select a piece of text for an
- Xoperator. It is the only way to select a block of text.
- X
- Xv start/stop Visual mode per character. {not in Vi}
- X
- XV start/stop Visual mode linewise. {not in Vi}
- X
- XCTRL-V start/stop Visual mode blockwise. {not in Vi}
- X
- Xo go to Other end of highlighted text: The current
- X cursor position becomes the start of the highlighted
- X text and the cursor is moved to the Other end of the
- X highlighted text. {not in Vi}
- X
- XTo apply an operator on a piece of text:
- X 1. mark the start of the text with "v", "V" or CTRL-V
- X The character under the cursor will be used as the start.
- X 2. move to the end of the text
- X The text from the start of the Visual mode up to and
- X including the character under the cursor is highlighted.
- X 3. hit an operator
- X The highlighted characters will be operated upon.
- X
- XThe 'highlight' option can be used to set the display mode to use for
- Xhighlighting in Visual mode.
- X
- XThe highlighted text includes the character under the cursor. On terminals
- Xwhere it is possible to make the cursor invisible the cursor position is
- Xalso highlighted. On terminals where this is not possible the cursor is
- Xdisplayed normally. If your cursor cannot be made invisible and you want Vim
- Xto highlight the character under the cursor anyway, you could set the 't_cv'
- Xand 't_ci' options to something harmless, for example:
- X :set t_cv=^[^[ t_ci=^[^[
- X
- XWith "v" the text before the start position and after the end position will
- Xnot be highlighted. However, All uppercase and non-alpha operators, except
- X"~", will work on whole lines anyway. See the list of operators below.
- X
- XWith CTRL-V (blockwise Visual mode) the highlighted text will be a rectangle
- Xbetween start position and the cursor. However, some operators work on whole
- Xlines anyway (see the list below). The change and substitute operators will
- Xdelete the highlighted text and then start insertion at the top left
- Xposition.
- X
- XWhen the "$" command is used with blockwise Visual mode, the right end of the
- Xhighlighted text will be determined by the longest highlighted line. This
- Xstops when a motion command is used that does not move straight up or down.
- X
- XIf you use "v", "V", CTRL-V, ESC or any command that does a jump to another
- Xwindow while in Visual mode, the highlighting stops and no text is affected.
- XIf you hit CTRL-Z the highlighting stops and the editor is suspended or a new
- Xshell is started.
- X
- XFor moving the end of the block many commands can be used, but you cannot
- Xuse Ex commands, commands that make changes or abandon the file. Commands
- X(starting with) ".pPiIaAO&", CTRL_^, "ZZ", CTRL-], CTRL-T, CTRL-R, CTRL-I
- Xand CTRL-O cause a beep and Visual mode continues.
- X
- XIf the "v", "V" or CTRL-V is preceded with a count, the previously
- Xhighlighted area is used for a start. You can then move the end of the
- Xhighlighted area and give an operator. The type of the old area is used
- X(character, line or blockwise).
- X- Linewise Visual mode: The number of lines is multiplied with the count.
- X- Blockwise Visual mode: The number of lines and columns is multiplied with
- X the count.
- X- Normal Visual mode within one line: The number of characters is multiplied
- X with the count.
- X- Normal Visual mode with several lines: The number of lines is multiplied
- X with the count, in the last line the same number of characters is used as
- X in the last line in the previously highlighted area.
- XThe start of the text is the Cursor position. If the "$" command was used as
- Xone of the last commands to extend the highlighted text, the area will be
- Xextended to the rightmost column of the longest line.
- X
- XThe operators that can be used are:
- X ~ switch case
- X d delete
- X c change
- X y yank
- X > shift right (1)(*)
- X < shift left (1)(*)
- X ! filter through external command (1)
- X = filter through 'equalprg' option command (1)
- X Q format lines to 'textwidth' length (1)
- X
- XAdditionally the following commands can be used:
- X : start ex command for highlighted lines (1)
- X r change
- X s change
- X C change (2)
- X R change (2)
- X S change (2)
- X x delete
- X D delete (2)
- X X delete (2)
- X Y yank (2)
- X J join (1)
- X U make uppercase
- X u make lowercase
- X
- X(1): always whole lines
- X(2): whole lines when not using CTRL-V
- X(*): in a future a blockwise shift will move the block only, not whole
- X lines.
- X
- XIf you want to give a register name using the """ command, do this just before
- Xtyping the operator character: "v{move around}"xd".
- X
- XIf you want to give a count to the command, do this just before typing the
- Xoperator character: "v{move around}3>" (move lines 3 indents to the right).
- X
- XWhen repeating a Visual mode operator, the operator will be applied to the
- Xsame amount of text as the last time:
- X- Linewise Visual mode: The same number of lines.
- X- Blockwise Visual mode: The same number of lines and columns.
- X- Normal Visual mode within one line: The same number of characters.
- X- Normal Visual mode with several lines: The same number of lines, in the
- X last line the same number of characters as in the last line the last time.
- XThe start of the text is the Cursor position. If the "$" command was used as
- Xone of the last commands to extend the highlighted text, the repeating will
- Xbe applied up to the rightmost column of the longest line.
- X
- X
- X 14. Various commands
- X
- XCTRL-L Clear and redraw the screen.
- X
- XCTRL-Z On Unix systems: Suspend Vim. On other systems:
- X start a new shell (like ":sh").
- X
- X<HELP> or
- X:h[elp] Show the help file page by page. The help file name
- X can be set with the 'helpfile' option. Type an index
- X character to go directly to a page. Type <SPACE> or
- X CTRL-F (with MSDOS: page-down) to go one page
- X forward. Type <b> or CTRL-B (with MSDOS: page-up) to
- X go one page back. Type <a> to go back to the index.
- X Type <CR> to get out of the help screen. {Vi: no
- X help}
- X
- X<DEL> When entering a number: remove the last digit.
- X
- X:[range]p[rint] Print [range] lines (default current line).
- X
- X:[range]p[rint] {count}
- X Print {count} lines, starting with [range] (default
- X current line, see 4.4.4).
- X
- X:[range]l[ist] [count]
- X Same as :print, but display unprintable characters
- X with <^>.
- X
- X:[range]nu[mber] [count]
- X Same as :print, but precede each line with its line
- X number.
- X
- X:[range]# [count] synonym for :number.
- X
- X:= Print the line number.
- X
- X:sh[ell] Escape to a shell (name from 'shell' option).
- X
- X:![!]{cmd} [!][arg] Execute {cmd} with the shell. The optional bangs are
- X replaced with the previously given command. The
- X optional [arg] is appended. See also the 'shell' and
- X 'shelltype' option.
- X
- X:ve[rsion] Print the version number of the editor. If the
- X compiler used understands "__DATE__" the compilation
- X date is mentioned. Otherwise a fixed release-date is
- X shown.
- X
- XK Run a program to lookup the identifier under the
- X cursor. The name of the program is given with the
- X 'keywordprg' (kp) option (default is "ref"). The
- X identifier is formed of letters, numbers and the
- X underscore. The identifier under or right of the
- X cursor is used. The same can be done with the
- X command
- X ":!{program} {identifier}".
- X There is an example of a program to use in the tools
- X directory of Vim. It is called 'ref' and does a
- X simple spelling check. {not in Vi}
- X
- X[N]gs
- X:[N]sleep [N] Do nothing for [N] seconds. Can be interrupted with
- X CTRL-C (CTRL-break on MSDOS). "gs" stands for "goto
- X sleep". {not in Vi}
- X
- X
- X 15. Repeating commands
- X
- X15.1 Single repeats
- X
- X. Repeat last change with count replaced by [count].
- X
- XSimple changes can be repeated with the "." command. Without a count, the
- Xcount of the last change is used. If you enter a count, it will replace the
- Xlast one. If the last change included a specification of a numbered
- Xregister, the register number will be incremented. See the section on undo
- Xand redo for an example how to use this.
- X
- X
- X15.2 Multiple repeats
- X
- X:[range]g[lobal]/{pattern}/[cmd]
- X Execute the Ex command [cmd] (default ":p") on the
- X lines within [range] where {pattern} matches.
- X
- X:[range]g[lobal]!/{pattern}/[cmd]
- X Execute the Ex command [cmd] (default ":p") on the
- X lines within [range] where {pattern} does NOT match.
- X
- X:[range]v[global]/{pattern}/[cmd]
- X Same as :g!.
- X
- XThe global commands work by first scanning through the [range] lines and
- Xmarking each line where a match occurs. In a second scan the [cmd] is
- Xexecuted for each marked line with its line number prepended. If a line is
- Xchanged or deleted its mark disappears. The default for [range] is the whole
- Xbuffer (1,$). Use "CTRL-C" to interrupt the command. If an error message is
- Xgiven for a line global aborts.
- X
- XTo repeat a non-Ex command, you will have to put the command in a file and
- Xuse "source!". For example:
- X :g/pat/so! scriptfile
- XMake sure that the scriptfile ends with a whole command, otherwise Vim will
- Xwait for you to type the rest of the command for each match. The screen will
- Xnot have been updated, so you don't know what you are doing.
- X
- XThe undo/redo command will undo/redo the whole global command at once.
- X
- X
- X15.3 Complex repeats
- X
- Xq<0-9a-zA-Z"> Record typed characters into register <0-9a-zA-Z">
- X (uppercase to append). The 'q' that stops recording
- X is also stored in the register. The 'q' command is
- X disabled while executing a register. (Implementation
- X note: This was done because the 'q' command can be
- X the result of mapping). {Vi: no recording}
- X
- Xq Stops recording. {Vi: no recording}
- X
- X@<0-9a-z"> Execute the contents of register <0-9a-z"> [count]
- X times. {Vi: only named registers}
- X
- X@: Repeat last command line [count] times.
- X
- X@@ Repeat the previous @<0-9a-z":> [count] times.
- X
- X:[addr]@<0-9a-z"> Execute the contents of register <0-9a-z"> as
- X an Ex command. First set cursor at line [addr]
- X (default is current line). {Vi: only in some
- X versions}
- X
- X:[addr]@: Repeat last command line [count] times. First set
- X cursor at line [addr] (default is current line).
- X {Vi: only in some versions}
- X
- X:[addr]@@ Repeat the previous :@<0-9a-z">. First set cursor at
- X line [addr] (default is current line). {Vi: only in
- X some versions}
- X
- X:so[urce] {file} Read Ex commands from {file}.
- X
- X:so[urce]! {file} Read Vim commands from {file}. {not in Vi}
- X
- XAll commands and command sequences can be repeated by putting them in a named
- Xregister and then executing it. There are two ways to get the commands in the
- Xregister:
- X- Use the record command "q". You type the commands once, and while they are
- X being executed they are stored in a register. Easy, because you can see
- X what you are doing. If you make a mistake, 'put' the register into the
- X file, edit the command sequence, and then delete it into the register
- X again. You can continue recording by appending to the register (use an
- X uppercase letter).
- X- Delete or yank the command sequence into the register.
- X
- XOften used command sequences can be put under a function key with the ':map'
- Xcommand.
- X
- XAn alternative is to put the commands in a file, and execute them with the
- X':source!' command. Useful for long command sequences. Can be combined with
- Xthe ':map' command to put complicated commands under a function key.
- X
- XThe ':source' command reads Ex commands from a file line by line. You will
- Xhave to type any needed keyboard input. The ':source!' command reads from a
- Xscript file character by character, interpreting each character as if you
- Xtyped it.
- X
- XExample: When you give the ":!ls" command you are asked to "hit return to
- Xcontinue". If you ':source' a file with the line "!ls" in it, you will have
- Xto type the return yourself. But if you ':source!' a file with the line
- X":!ls" in it, the next characters from that file are read until a <CR> is
- Xfound. You will not have to type <CR> yourself, unless ":!ls" was the last
- Xline in the file.
- X
- XIt is possible to put ':source[!]' commands in the script file, so you can
- Xmake a top-down hierarchy of script files. The ':source' command can be
- Xnested as deep as the number of files that can be opened at one time (about
- X15). The ':source!' command can be nested up to 15 levels deep.
- X
- XIn script files terminal-dependent key codes are represented by
- Xterminal-independent single character codes. In the MSDOS version the values
- Xare 48 (0x30) higher. Any of these codes can be entered with CTRL-V followed
- Xby the three digit decimal code.
- X
- X code hex meaning
- X
- X 128 0x80 up-arrow
- X 129 0x81 down-arrow
- X 130 0x82 left-arrow
- X 131 0x83 right-arrow
- X 132 0x84 shift up-arrow
- X 133 0x85 shift down-arrow
- X 134 0x86 shift left-arrow
- X 135 0x87 shift right-arrow
- X
- X 136 0x88 function key 1
- X 137 0x89 function key 2
- X 138 0x8a function key 3
- X 139 0x8b function key 4
- X 140 0x8c function key 5
- X 141 0x8d function key 6
- X 142 0x8e function key 7
- X 143 0x8f function key 8
- X 144 0x90 function key 9
- X 145 0x91 function key 10
- X
- X 146 0x92 shifted function key 1
- X 147 0x93 shifted function key 2
- X 148 0x94 shifted function key 3
- X 149 0x95 shifted function key 4
- X 150 0x96 shifted function key 5
- X 151 0x97 shifted function key 6
- X 152 0x98 shifted function key 7
- X 153 0x99 shifted function key 8
- X 154 0x9a shifted function key 9
- X 155 0x9b shifted function key 10
- X
- X 156 0x9c help key
- X 157 0x9d undo key
- X 158 0x9e special-function key follows (MSDOS)
- X 159 0x9f CTRL-@
- X
- X
- X 16. Undo and redo
- X
- X<UNDO> or
- Xu Undo [count] changes. {Vi: only one level}
- X
- X:u[ndo] Undo one change. {Vi: only one level}
- X
- XCTRL-R Redo [count] changes which were undone. {Vi: redraw
- X screen}
- X
- X:red[o] Redo one change which was undone. {Vi: no redo}
- X
- XU Undo all latest changes on one line. {Vi: while not
- X moved off of it}
- X
- XThe last changes are remembered. You can go back in time with the "u"
- Xcommand. You can then go forward again with the 'CTRL-R' command. If you
- Xmake a new change after the "u" command, the 'CTRL-R' will not be possible
- Xanymore. The number of changes that are remembered is set with the
- X'undolevels' option. If it is zero, the old fashioned Vi undo is present:
- Xone level of undo and undo undoes itself. If it is negative no undo is
- Xpossible. Use this if you are running out of memory.
- X
- XThe "U" command is treated by undo/redo just like any other command. Thus a
- X"u" command undos a "U" command and a 'CTRL-R' command redoes it again. When
- Xmixing "U", "u" and 'CTRL-R' you will notice that the "U" command will
- Xrestore the situation of a line to before the previous "U" command. This may
- Xbe confusing. Try it out to get used to it.
- X
- XWhen all changes have been undone the buffer is not considered to be changed.
- XVim can then be exit with ":q" instead of ":q!". {this is not in Vi}
- X
- XThe numbered registers can also be used for undoing deletes. Each time you
- Xdelete text, it is put into register "1. The contents of register "1 are
- Xshifted to "2, etc. The contents of register "9 are lost. You can now get
- Xback the most recent deleted text with the put command: '"1P'. (also, if the
- Xdeleted text was the result of the last delete or copy operation, 'P' or 'p'
- Xalso works as this puts the contents of the unnamed register). You can get
- Xback the text of three deletes ago with '"3P'.
- X
- XIf you want to get back more than one part of deleted text, you can use a
- Xspecial feature of the repeat command ".". It will increase the number of the
- Xregister used. So if you first do ""1P", the following "." will result in a
- X'"2P'. Repeating this will result in all numbered registers being inserted.
- X
- XExample: If you deleted text with 'dd....' it can be restored with
- X '"1P....'.
- X
- XIf you don't know in which register the deleted text is, you can use the
- X:display command. An alternative is to try the first register with '"1P', and
- Xif it is not what you want do 'u.'. This will remove the contents of the
- Xfirst put, and repeat the put command for the second register. Repeat the
- X'u.' until you got what you want.
- X
- X
- X 17. Key mapping
- X
- X:map {lhs} {rhs} Map the key sequence {lhs} to {rhs} in Command mode.
- X
- X:map! {lhs} {rhs} Map the key sequence {lhs} to {rhs} in Insert and
- END_OF_FILE
- if test 48444 -ne `wc -c <'vim/doc/reference.doc.C'`; then
- echo shar: \"'vim/doc/reference.doc.C'\" unpacked with wrong size!
- elif test -f 'vim/doc/reference.doc.A' && test -f 'vim/doc/reference.doc.B' && test -f 'vim/doc/reference.doc.D'; then
- echo shar: Combining \"'vim/doc/reference.doc'\" \(210836 characters\)
- cat 'vim/doc/reference.doc.A' 'vim/doc/reference.doc.B' 'vim/doc/reference.doc.C' 'vim/doc/reference.doc.D' > 'vim/doc/reference.doc'
- if test 210836 -ne `wc -c <'vim/doc/reference.doc'`; then
- echo shar: \"'vim/doc/reference.doc'\" combined with wrong size!
- else
- rm vim/doc/reference.doc.A vim/doc/reference.doc.B vim/doc/reference.doc.C vim/doc/reference.doc.D
- fi
- fi
- # end of 'vim/doc/reference.doc.C'
- fi
- if test -f 'vim/macros/maze/maze_mac.UU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/macros/maze/maze_mac.UU'\"
- else
- echo shar: Extracting \"'vim/macros/maze/maze_mac.UU'\" \(16803 characters\)
- sed "s/^X//" >'vim/macros/maze/maze_mac.UU' <<'END_OF_FILE'
- Xbegin 644 vim/macros/maze/maze_mac
- XM(B!4:&5S92!M86-R;W,@)W-O;'9E)R!A;GD@;6%Z92!P<F]D=6-E9"!B>2!T
- XM:&4@82UM87IE+6EN9R!M87IE+F,@<')O9W)A;2X*(B *(B!&:7)S="P@82!B
- XM:70@;V8@;6%Z92!T:&5O<GDN"B(@268@>6]U('=E<F4@<'5T(&EN=&\@82!M
- XM87IE+"!A(&=U87)A;G1E960@;65T:&]D(&]F(&9I;F1I;F<@>6]U<B!W87D*
- XM(B!O=70@;V8@=&AE(&UA>F4@:7,@=&\@<'5T('EO=7(@;&5F="!H86YD(&]N
- XM=&\@82!W86QL(&%N9"!J=7-T(&ME97 @=V%L:VEN9RP*(B!N979E<B!T86MI
- XM;F<@>6]U<B!H86YD(&]F9B!T:&4@=V%L;"X@5&AI<R!T96-H;FEQ=64@:7,@
- XM;VYL>2!G=6%R86YT965D('1O"B(@=V]R:R!I9B!T:&4@;6%Z92!D;V5S(&YO
- XM="!H879E(&%N>2 G:7-L86YD<R<L(&]R(&EF('1H92 G97AI="<@:7,@;VX@
- XM=&AE"B(@<V%M92!I<VQA;F0@87,@>6]U<B!S=&%R=&EN9R!P;VEN="X@5&AE
- XM<V4@8V]N9&ET:6]N<R!H;VQD(&9O<B!T:&4@;6%Z97,*(B!U;F1E<B!C;VYS
- XM:61E<F%T:6]N+@HB( HB($%S<W5M:6YG('1H870@=&AE(&UA>F4@:7,@;6%D
- XM92!U<"!O9B!H;W)I>F]N=&%L(&%N9"!V97)T:6-A;"!W86QL<R!S<&%C960*
- XM(B!O;F4@<W1E<"!A<&%R="!A;F0@=&AA="!Y;W4@8V%N(&UO=F4@96ET:&5R
- XM(&YO<G1H+"!S;W5T:"P@96%S="!O<B!W97-T+ HB('1H96X@>6]U(&-A;B!A
- XM=71O;6%T92!T:&ES('!R;V-E9'5R92!B>2!C87)R>6EN9R!O=70@=&AE(&9O
- XM;&QO=VEN9R!S=&5P<RX*(B *(B Q+B!0=70@>6]U<G-E;&8@<V]M97=H97)E
- XM(&EN('1H92!M87IE(&YE87(@82!W86QL+@HB(#(N($-H96-K(&EF('EO=2!H
- XM879E(&$@=V%L;"!O;B!Y;W5R(&QE9G0N($EF('-O+"!G;R!T;R!S=&5P(#0N
- XM"B(@,RX@5&AE<F4@:7,@;F\@=V%L;"!O;B!Y;W5R(&QE9G0L('-O('1U<FX@
- XM;VX@=&AE('-P;W0@=&\@>6]U<B!L969T(&%N9"!S=&5P"B(@(" @9F]R=V%R
- XM9"!B>2!O;F4@<W1E<"!A;F0@<F5P96%T('-T97 @,BX*(B T+B!#:&5C:R!W
- XM:&%T(&ES(&1I<F5C=&QY(&EN(&9R;VYT(&]F('EO=2X@268@:70@:7,@82!W
- XM86QL+"!T=7)N(&]N('1H90HB(" @('-P;W0@=&\@>6]U<B!R:6=H="!B>2 Y
- XM,"!D96=R965S(&%N9"!R97!E870@<W1E<" T+@HB(#4N(%1H97)E(&ES(&YO
- XM('=A;&P@:6X@9G)O;G0@;V8@>6]U+"!S;R!S=&5P(&9O<G=A<F0@;VYE('-T
- XM97 @86YD"B(@(" @9V\@=&\@<W1E<" R+@HB( HB($EN('1H:7,@=V%Y('EO
- XM=2!W:6QL(&-O=F5R(&%L;"!T:&4@8V]R<FED;W)S(&]F('1H92!M87IE("AU
- XM;G1I;"!Y;W4@9V5T(&)A8VL*(B!T;R!W:&5R92!Y;W4@<W1A<G1E9"!F<F]M
- XM+"!I9B!Y;W4@9&\@;F]T('-T;W I+@HB( HB($)Y(&5X86UI;FEN9R!A(&UA
- XM>F4@<')O9'5C960@8GD@=&AE(&UA>F4N8R!P<F]G<F%M('EO=2!W:6QL('-E
- XM92!T:&%T( HB(&5A8V@@<W%U87)E(&]F('1H92!M87IE(&ES(&]N92!C:&%R
- XM86-T97(@:&EG:"!A;F0@='=O(&-H87)A8W1E<G,@=VED92X*(B!4;R!G;R!N
- XM;W)T:"!O<B!S;W5T:"P@>6]U(&UO=F4@8GD@82!O;F4@8VAA<F%C=&5R('-T
- XM97 L(&)U="!T;R!M;W9E(&5A<W0@;W(*(B!W97-T('EO=2!M;W9E(&)Y(&$@
- XM='=O(&-H87)A8W1E<B!S=&5P+B!!;'-O(&YO=&4@=&AA="!I;B!A;GD@<&]S
- XM:71I;VX*(B!T:&5R92!A<F4@9F]U<B!P;&%C97,@=VAE<F4@=V%L;',@8V]U
- XM;&0@8F4@<'5T("T@=&\@=&AE(&YO<G1H+"!T;R!T:&4@<V]U=&@L"B(@=&\@
- XM=&AE(&5A<W0@86YD('1O('1H92!W97-T+@HB($$@=V%L;"!E>&ES=',@=&\@
- XM=&AE(&YO<G1H(&]F('EO=2!I9B!T:&4@8VAA<F%C=&5R('1O('1H92!N;W)T
- XM:"!O9@HB('EO=2!I<R!A(%\@*&]T:&5R=VES92!I="!I<R!A('-P86-E*2X*
- XM(B!!('=A;&P@97AI<W1S('1O('1H92!E87-T(&]F('EO=2!I9B!T:&4@8VAA
- XM<F%C=&5R('1O('1H92!E87-T(&]F('EO=0HB(&ES(&$@?" H;W1H97)W:7-E
- XM(&ET(&ES(&$@+BDN"B(@02!W86QL(&5X:7-T<R!T;R!T:&4@=V5S="!O9B!Y
- XM;W4@:68@=&AE(&-H87)A8W1E<B!T;R!T:&4@=V5S="!O9B!Y;W4*(B!I<R!A
- XM('P@*&]T:&5R=VES92!I="!I<R!A("XI+@HB($$@=V%L;"!E>&ES=',@=&\@
- XM=&AE('-O=71H(&]F('EO=2!I9B!T:&4@8VAA<F%C=&5R('=H97)E('EO=2!A
- XM<F4*(B!I<R!A(%\@*&]T:&5R=VES92!I="!I<R!A('-P86-E*2X*(B *(B!.
- XM;W1E('1H92!D:69F97)E;F-E(&9O<B!D:7)E8W1I;VX@<V]U=&@L('=H97)E
- XM('=E(&UU<W0@97AA;6EN92!T:&4@8VAA<F%C=&5R"B(@=VAE<F4@=&AE(&-U
- XM<G-O<B!I<R!R871H97(@=&AA;B!A;B!A9&IA8V5N="!C96QL+@HB( HB($EF
- XM('EO=2!W97)E(&EM<&QE;65N=&EN9R!T:&4@86)O=F4@<')O8V5D=7)E(&ES
- XM(&$@;F]R;6%L(&-O;7!U=&5R(&QA;F=U86=E"B(@>6]U(&-O=6QD('5S92!A
- XM(&QO;W @=VET:"!I9B!S=&%T96UE;G1S(&%N9"!C;VYT:6YU92!S=&%T96UE
- XM;G1S+" *(B!(;W=E=F5R+"!T:&5S92!C;VYS=')U8W1S(&%R92!N;W0@879A
- XM:6QA8FQE(&EN('9I(&UA8W)O<R!S;R!)(&AA=F4@=7-E9 HB(&$@<W1A=&4@
- XM;6%C:&EN92!W:71H(#@@<W1A=&5S+B!%86-H('-T871E('-I9VYI9FEE<R!T
- XM:&4@9&ER96-T:6]N('EO=0HB(&%R92!G;VEN9R!I;B!A;F0@=VAE=&AE<B!O
- XM<B!N;W0@>6]U(&AA=F4@8VAE8VME9"!I9B!T:&5R92!I<R!A('=A;&P@;VX*
- XM(B!Y;W5R(&QE9G0N"B(@"B(@5&AE('1R86YS:71I;VX@9G)O;2!S=&%T92!T
- XM;R!S=&%T92!A;F0@=&AE(&%C=&EO;G,@=&%K96X@;VX@96%C:"!T<F%N<VET
- XM:6]N"B(@87)E(&=I=F5N(&EN('1H92!S=&%T92!T86)L92!B96QO=RX*(B!4
- XM:&4@;F%M97,@;V8@=&AE('-T871E<R!A<F4@3C$L($XR+"!3,2P@4S(L($4Q
- XM+"!%,BP@5S$L(%<R+"!W:&5R92!E86-H(&QE='1E<@HB('-T86YD<R!F;W(@
- XM82!D:7)E8W1I;VX@;V8@=&AE(&-O;7!A<W,L('1H92!N=6UB97(@,2!I;F1I
- XM8V%T97,@=&AA="!T:&4@=V4*(B!H879E(&YO="!Y970@8VAE8VME9"!T;R!S
- XM964@:68@=&AE<F4@:7,@82!W86QL(&]N(&]U<B!L969T(&%N9"!T:&4@;G5M
- XM8F5R(#(*(B!I;F1I8V%T97,@=&AA="!W92!H879E(&-H96-K960@86YD('1H
- XM97)E(&ES(&$@=V%L;"!O;B!O=7(@;&5F="X*(B *(B!&;W(@96%C:"!S=&%T
- XM92!W92!M=7-T(&-O;G-I9&5R('1H92!E>&ES=&5N8V4@;W(@;F]T(&]F(&$@
- XM=V%L;"!I;B!A"B(@<&%R=&EC=6QA<B!D:7)E8W1I;VXN(%1H:7,@9&ER96-T
- XM:6]N(&ES(&=I=F5N(&EN('1H92!F;VQL;W=I;F<@=&%B;&4N"B(@"B(@3F5X
- XM=$-H87(@=&%B;&4Z"B(@<W1A=&4@(" @(" @(&1I<F5C=&EO;B @(" @("!V
- XM:2!C;VUM86YD<PHB("!.,2 @(" @(" @(" @(" @5R @(" @(" @(" @(" @
- XM(&A&"B(@($XR(" @(" @(" @(" @("!.(" @(" @(" @(" @(" @:T8*(B @
- XM4S$@(" @(" @(" @(" @($4@(" @(" @(" @(" @("!L1@HB("!3,B @(" @
- XM(" @(" @(" @4R @(" @(" @(" @(" @($8*(B @13$@(" @(" @(" @(" @
- XM($X@(" @(" @(" @(" @("!K1@HB("!%,B @(" @(" @(" @(" @12 @(" @
- XM(" @(" @(" @(&Q&"B(@(%<Q(" @(" @(" @(" @("!3(" @(" @(" @(" @
- XM(" @1@HB("!7,B @(" @(" @(" @(" @5R @(" @(" @(" @(" @(&A&"B(@
- XM"B(@=VAE<F4@1B!I<R!A(&UA8W)O('=H:6-H('EA;FMS('1H92!C:&%R86-T
- XM97(@=6YD97(@=&AE(&-U<G-O<B!I;G1O"B(@=&AE($YE>'1#:&%R(')E9VES
- XM=&5R("AN*2X*(B *(B!3=&%T92!T86)L93H*(B!);B!T:&4@)W9I(&-O;6UA
- XM;F1S)R!C;VQU;6X@:7,@9VEV96X@=&AE(&%C=&EO;G,@=&\@8V%R<GD@;W5T
- XM('=H96X@:6X*(B!T:&ES('-T871E(&%N9"!T:&4@3F5X=$-H87(@:7,@87,@
- XM9VEV96XN(%1H92!C;VUM86YD<R!K+"!J+"!L;"P@:&@@;6]V90HB('1H92!C
- XM=7)R96YT('!O<VET:6]N(&YO<G1H+"!S;W5T:"P@96%S="!A;F0@=V5S="!R
- XM97-P96-T:79E;'DN(%1H90HB(&-O;6UA;F0@;6T@:7,@=7-E9"!A<R!A(&YO
- XM+6]P(&-O;6UA;F0N"B(@26X@=&AE("=N97AT('-T871E)R!C;VQU;6X@:7,@
- XM9VEV96X@=&AE(&YE=R!S=&%T92!O9B!T:&4@;6%C:&EN92!A9G1E<@HB('1H
- XM92!A8W1I;VX@:7,@8V%R<FEE9"!O=70N"B(@"B(@8W5R<F5N="!S=&%T92 @
- XM(" @(" @3F5X=$-H87(@(" @=FD@8V]M;6%N9',@(&YE>'0@<W1A=&4*(B @
- XM(" @($XQ(" @(" @(" @(" @(" @(" N(" @(" @(" @(" @:&@@(" @(" @
- XM(" @5S$*(B @(" @($XQ(" @(" @(" @(" @(" @("!\(" @(" @(" @(" @
- XM;6T@(" @(" @(" @3C(*(B @(" @($XR(" @(" @(" @(" @(" @("!?(" @
- XM(" @(" @(" @;6T@(" @(" @(" @13$*(B @(" @($XR(" @(" @(" @(" @
- XM(" @<W!A8V4@(" @(" @(" @:R @(" @(" @(" @3C$*(B @(" @(%,Q(" @
- XM(" @(" @(" @(" @(" N(" @(" @(" @(" @;&P@(" @(" @(" @13$*(B @
- XM(" @(%,Q(" @(" @(" @(" @(" @("!\(" @(" @(" @(" @;6T@(" @(" @
- XM(" @4S(*(B @(" @(%,R(" @(" @(" @(" @(" @("!?(" @(" @(" @(" @
- XM;6T@(" @(" @(" @5S$*(B @(" @(%,R(" @(" @(" @(" @(" @<W!A8V4@
- XM(" @(" @(" @:B @(" @(" @(" @4S$*(B @(" @($4Q(" @(" @(" @(" @
- XM(" @<W!A8V4@(" @(" @(" @:R @(" @(" @(" @3C$*(B @(" @($4Q(" @
- XM(" @(" @(" @(" @("!?(" @(" @(" @(" @;6T@(" @(" @(" @13(*(B @
- XM(" @($4R(" @(" @(" @(" @(" @("!\(" @(" @(" @(" @;6T@(" @(" @
- XM(" @4S$*(B @(" @($4R(" @(" @(" @(" @(" @(" N(" @(" @(" @(" @
- XM;&P@(" @(" @(" @13$*(B @(" @(%<Q(" @(" @(" @(" @(" @<W!A8V4@
- XM(" @(" @(" @:B @(" @(" @(" @4S$*(B @(" @(%<Q(" @(" @(" @(" @
- XM(" @("!?(" @(" @(" @(" @;6T@(" @(" @(" @5S(*(B @(" @(%<R(" @
- XM(" @(" @(" @(" @("!\(" @(" @(" @(" @;6T@(" @(" @(" @3C$*(B @
- XM(" @(%<R(" @(" @(" @(" @(" @(" N(" @(" @(" @(" @:&@@(" @(" @
- XM(" @5S$*(@HB( HB($-O;7!L86EN="!A8F]U="!V:2!M86-R;W,Z"B(@270@
- XM<V5E;7,@=&AA="!Y;W4@8V%N;F]T(&AA=F4@;6]R92!T:&%N(&]N92 G=6YD
- XM;RUA8FQE)R!V:2!C;VUM86YD"B(@:6X@=&AE(&]N92!M86-R;RP@<V\@>6]U
- XM(&AA=F4@=&\@;6%K92!L;W1S(&]F(&QI='1L92!M86-R;W,@86YD"B(@<'5T
- XM('1H96T@=&]G971H97(N"B(*(B!))VQL(&5X<&QA:6X@=VAA="!)(&UE86X@
- XM8GD@86X@97AA;7!L92X@161I="!A(&9I;&4@86YD"B(@='EP92 G.FUA<"!1
- XM(')862<N(%1H:7,@<VAO=6QD(&UA<"!T:&4@42!K97D@=&\@)W)E<&QA8V4@
- XM=&AE"B(@8VAA<F%C=&5R('5N9&5R('1H92!C=7)S;W(@=VET:"!8(&%N9"!Y
- XM86YK('1H92!L:6YE)RX*(B!"=70@=VAE;B!)('1Y<&4@42P@=FD@=&5L;',@
- XM;64@)T-A;B=T('EA;FL@:6YS:61E(&=L;V)A;"]M86-R;R<@86YD"B(@9V]E
- XM<R!I;G1O(&5X(&UO9&4N($AO=V5V97(@:68@22!T>7!E("<Z;6%P(%$@<EA4
- XM)R!A;F0@)SIM87 @5"!9)RP*(B!E=F5R>71H:6YG(&ES($]++B!)8&T@9&]I
- XM;F<@86QL('1H:7,@;VX@82!3<&%R8W-T871I;VXN"B(@268@86YY;VYE(')E
- XM861I;F<@=&AI<R!H87,@86X@86YS=V5R('1O('1H:7,@<')O8FQE;2P@=&AE
- XM(&%U=&AO<B!W;W5L9 HB(&QO=F4@=&\@9FEN9"!O=70N($UA:6P@=&\@9W)E
- XM9VU ;W1C+F]T8V$N;WHN874N"B(*(B!4:&4@;6%C<F]S.@HB(%1H92!M86-R
- XM;R!T;R!R=6X@=&AE(&UA>F4@<V]L=F5R(&ES("=G)RX@5&AI<R!S:6UP;'D@
- XM8V%L;',@='=O(&]T:&5R"B(@;6%C<F]S.B!)+"!T;R!I;FET:6%L:7-E(&5V
- XM97)Y=&AI;F<L(&%N9"!,+"!T;R!L;V]P(&9O<F5V97(@<G5N;FEN9PHB('1H
- XM<F]U9V@@=&AE('-T871E('1A8FQE+@HB($)O=&@@;V8@=&AE<V4@;6%C<F]S
- XM(&%R92!L;VYG('-E<75E;F-E<R!O9B!C86QL<R!T;R!O=&AE<B!M86-R;W,N
- XM($%L; HB(&]F('1H97-E(&]T:&5R(&UA8W)O<R!A<F4@<75I=&4@<VEM<&QE
- XM(&%N9"!S;R!T;R!U;F1E<G-T86YD(&AO=R!T:&ES"B(@=V]R:W,L(&%L;"!Y
- XM;W4@;F5E9"!T;R!D;R!I<R!E>&%M:6YE(&UA8W)O<R!)(&%N9"!,(&%N9"!L
- XM96%R;B!W:&%T('1H97D*(B!D;R H82!S:6UP;&4@<V5Q=65N8V4@;V8@=FD@
- XM86-T:6]N<RD@86YD(&AO=R!,(&QO;W!S("AB>2!C86QL:6YG(%4L('=H:6-H
- XM"B(@<VEM<&QY(&-A;&QS($P@86=A:6XI+@HB"B(@36%C<F\@22!S971S('5P
- XM('1H92!S=&%T92!T86)L92!A;F0@3F5X=$-H87(@=&%B;&4@870@=&AE(&5N
- XM9"!O9B!T:&4@9FEL92X*(B!-86-R;R!,('1H96X@<V5A<F-H97,@=&AE<V4@
- XM=&%B;&5S('1O(&9I;F0@;W5T('=H870@86-T:6]N<R!T;R!P97)F;W)M(&%N
- XM9 HB('=H870@<W1A=&4@8VAA;F=E<R!T;R!M86ME+@HB"B(@5&AE(&5N=')I
- XM97,@:6X@=&AE('-T871E('1A8FQE(&%L;"!B96=I;B!W:71H(&$@:V5Y(&-O
- XM;G-I<W1I;F<@;V8@=&AE"B(@;&5T=&5R("=S)RP@=&AE(&-U<G)E;G0@<W1A
- XM=&4@86YD('1H92!.97AT0VAA<BX@($%F=&5R('1H:7,@:7,@=&AE"B(@86-T
- XM:6]N('1O('1A:V4@:6X@=&AI<R!S=&%T92!A;F0@869T97(@=&AI<R!I<R!T
- XM:&4@;F5X="!S=&%T92!T;R!C:&%N9V4@=&\N"B(*(B!4:&4@96YT<FEE<R!I
- XM;B!T:&4@3F5X=$-H87(@=&%B;&4@8F5G:6X@=VET:"!A(&ME>2!C;VYS:7-T
- XM:6YG(&]F('1H90HB(&QE='1E<B G;B<@86YD('1H92!C=7)R96YT('-T871E
- XM+B!!9G1E<B!T:&ES(&ES('1H92!A8W1I;VX@=&\@=&%K92!T;PHB(&]B=&%I
- XM;B!.97AT0VAA<B M('1H92!C:&%R86-T97(@=&AA="!M=7-T(&)E(&5X86UI
- XM;F5D('1O(&-H86YG92!S=&%T92X*(@HB($]N92!W87D@=&\@<V5E('=H870@
- XM96%C:"!P87)T(&]F('1H92!M86-R;W,@:7,@9&]I;F<@:7,@=&\@='EP92!I
- XM;B!T:&4*(B!B;V1Y(&]F('1H92!M86-R;W,@22!A;F0@3"!M86YU86QL>2 H
- XM:6YS=&5A9"!O9B!T>7!I;F<@)V<G*2!A;F0@<V5E"B(@=VAA="!H87!P96YS
- XM(&%T(&5A8V@@<W1E<"X*(@HB($=O;V0@;'5C:RX*(@HB(%)E9VES=&5R<R!U
- XM<V5D(&)Y('1H92!M86-R;W,Z"B(@<R H4W1A=&4I(" @(" @(" M(&AO;&1S
- XM('1H92!S=&%T92!T:&4@;6%C:&EN92!I<R!I;@HB(&,@*$-H87(I(" @(" @
- XM(" @+2!H;VQD<R!T:&4@8VAA<F%C=&5R('5N9&5R('1H92!C=7)R96YT('!O
- XM<VET:6]N"B(@;2 H36%C<F\I(" @(" @(" M(&AO;&1S(&$@=FD@8V]M;6%N
- XM9"!S=')I;F<@=&\@8F4@97AE8W5T960@;&%T97(*(B!N("A.97AT0VAA<BD@
- XM(" @("T@:&]L9',@=&AE(&-H87)A8W1E<B!W92!M=7-T(&5X86UI;F4@=&\@
- XM8VAA;F=E('-T871E"B(@<B H4V5C;VYD($UA8W)O*2 M(&AO;&1S(&$@<V5C
- XM;VYD('9I(&-O;6UA;F0@<W1R:6YG('1O(&)E(&5X96-U=&5D(&QA=&5R"B(*
- XM<V5T(')E;6%P"G-E="!N;VUA9VEC"G-E="!N;W1E<G-E"G-E="!W<F%P<V-A
- XM;@HB"B(]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"B(@9R M(&=O(')U;G,@=&AE('=H
- XM;VQE('-H;W<*(B @(" @(" @22 M(&EN:71I86QI<V4*(B @(" @(" @3" M
- XM('1H96X@;&]O<"!F;W)E=F5R"FUA<"!G(" @24P*(@HB/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/0HB($D@+2!I;FET:6%L:7-E(&5V97)Y=&AI;F<@8F5F;W)E(')U
- XM;FYI;F<@=&AE(&QO;W *(B @($<D/RY>32 M(&9I;F0@=&AE(&QA<W0@+B!I
- XM;B!T:&4@;6%Z90HB(" @(" @("!>("T@<F5P;&%C92!I="!W:71H(&%N(%@@
- XM*'1H92!G;V%L*0HB(" @1UE+9410("T@<')I;G0@=&AE('-T871E('1A8FQE
- XM(&%N9"!N97AT(&-H87(@=&%B;&4@870@=&AE(&5N9"!O9B!T:&4@9FEL90HB
- XM(" @(" @(#!3("T@:6YI=&EA;&ES92!T:&4@<W1A=&4@;V8@=&AE(&UA8VAI
- XM;F4@=&\@13$*(B @(" @(#)';" M(&UO=F4@=&\@=&AE('1O<"!L969T(&-E
- XM;&P@;V8@=&AE(&UA>F4*;6%P($D@("!')#\N#5Y'64ME1% P4S)'; HB"B(]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]"B(@3" M('1H92!L;V]P('=H:6-H(&ES(&5X
- XM96-U=&5D(&9O<F5V97(*(B @(" @(" @42 M('-A=F4@=&AE(&-U<G)E;G0@
- XM8VAA<F%C=&5R(&EN('1H92!#:&%R(')E9VES=&5R"B(@(" @(" @($$@+2!R
- XM97!L86-E('1H92!C=7)R96YT(&-H87)A8W1E<B!W:71H(&%N("=/)PHB(" @
- XM(" @(&UA("T@;6%R:R!T:&4@8W5R<F5N="!P;W-I=&EO;B!W:71H(&UA<FL@
- XM)V$G"B(@(" @("!'3D(@+2!O;B!B;W1T;VT@;&EN92P@8W)E871E(&$@8V]M
- XM;6%N9"!T;R!S96%R8V@@=&AE($YE>'1#:&%R('1A8FQE"B(@(" @(" @(" @
- XM("!F;W(@=&AE(&-U<G)E;G0@<W1A=&4*(B P33!%0&U>32 M('EA;FL@=&AE
- XM(&-O;6UA;F0@:6YT;R!T:&4@36%C<F\@<F5G:7-T97(@86YD(&5X96-U=&4@
- XM:70*(B @(" @("!W6" M('=E(&AA=F4@;F]W(&9O=6YD('1H92!E;G1R>2!I
- XM;B!T:&4@=&%B;&4L(&YO=R!Y86YK('1H90HB(" @(" @(" @(" @9F]L;&]W
- XM:6YG('=O<F0@:6YT;R!T:&4@36%C<F\@<F5G:7-T97(*(B @(" @8&% ;2 M
- XM(&=O(&)A8VL@=&\@=&AE(&-U<G)E;G0@<&]S:71I;VX@86YD(&5X96-U=&4@
- XM=&AE(&UA8W)O+"!T:&ES('=I;&P*(B @(" @(" @(" @('EA;FL@=&AE($YE
- XM>'1#:&%R(&EN(')E9VES=&5R(&X*(B @($=4)$(D4B M(&]N(&)O='1O;2!L
- XM:6YE+"!C<F5A=&4@82!C;VUM86YD('1O('-E87)C:"!T:&4@<W1A=&4@=&%B
- XM;&4*(B @(" @(" @(" @(&9O<B!T:&4@8W5R<F5N="!S=&%T92!A;F0@3F5X
- XM=$-H87(*(B P33!%0&U>32 M('EA;FL@=&AE(&-O;6UA;F0@:6YT;R!T:&4@
- XM36%C<F\@<F5G:7-T97(@86YD(&5X96-U=&4@:70*(B @(" @(#)74R M('=E
- XM(&AA=F4@;F]W(&9O=6YD('1H92!E;G1R>2!I;B!T:&4@=&%B;&4L(&YO=R!Y
- XM86YK('1H90HB(" @(" @(" @(" @;F5X="!S=&%T92!I;G1O('1H92!3=&%T
- XM92!M86-R;PHB(" @(" @(&)8("T@86YD('EA;FL@=&AE(&%C=&EO;B!C;W)R
- XM97-P;VYD:6YG('1O('1H:7,@<W1A=&4@=&%B;&4@96YT<GD*(B @(" @(" @
- XM(" @(&EN=&\@=&AE($UA8W)O(')E9VES=&5R"B(@(" @("!'5DH@+2!O;B!B
- XM;W1T;VT@;&EN92P@8W)E871E(&$@8V]M;6%N9"!T;R!R97-T;W)E('1H92!C
- XM=7)R96YT(&-H87)A8W1E<@HB(" @(" @(#!(("T@86YD('-A=F4@=&AE(&-O
- XM;6UA;F0@:6YT;R!T:&4@<V5C;VYD($UA8W)O(')E9VES=&5R"B(@(" @(&!A
- XM0'(@+2!G;R!B86-K('1O('1H92!C=7)R96YT('!O<VET:6]N(&%N9"!E>&5C
- XM='5T92!T:&4@;6%C<F\@=&\@<F5S=&]R90HB(" @(" @(" @(" @=&AE(&-U
- XM<G)E;G0@8VAA<F%C=&5R"B(@(" @(" @0&T@+2!E>&5C=71E('1H92!A8W1I
- XM;VX@87-S;V-I871E9"!W:71H('1H:7,@<W1A=&4*(B @(" @(" @52 M(&%N
- XM9"!R97!E870*;6%P($P@("!106UA1TY",$TP14!M#7=88&% ;4=4)$(D4C!-
- XM,$5 ;0TR5U-B6$=62C!(8&% <D!M50HB"B(]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM"B(@52 M(&YO('1A:6P@<F5C=7)S:6]N(&%L;&]W960@:6X@=FD@;6%C<F]S
- XM('-O(&-H96%T(&%N9"!S970@52 ]($P*;6%P(%4@("!,"B(*(CT]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T*(B!3("T@>6%N:R!T:&4@;F5X="!T=V\@8VAA<F%C=&5R
- XM<R!I;G1O('1H92!3=&%T92!R96=I<W1E<@IM87 @4R @(")S>3)L"B(*(CT]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T*(B!1("T@<V%V92!T:&4@8W5R<F5N="!C:&%R
- XM86-T97(@:6X@=&AE($-H87(@<F5G:7-T97(*;6%P(%$@(" B8WEL"B(*(CT]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T*(B!!("T@<F5P;&%C92!T:&4@8W5R<F5N="!C
- XM:&%R86-T97(@=VET:"!A;B G3R<*;6%P($$@("!R3PHB"B(]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]"B(@3B M(')E<&QA8V4@=&AI<R!L:6YE('=I=&@@=&AE('-T
- XM<FEN9R G;B<*;6%P($X@("!#+VX;"B(*(CT]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*
- XM(B!"("T@<'5T('1H92!C=7)R96YT('-T871E"FUA<"!"(" @(G-P"B(*(CT]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T*(B!-("T@>6%N:R!T:&ES(&QI;F4@:6YT;R!T
- XM:&4@36%C<F\@<F5G:7-T97(*;6%P($T@(" B;7DD"B(*(CT]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T*(B!%("T@9&5L971E('1O('1H92!E;F0@;V8@=&AE(&QI;F4*
- XM;6%P($4@("!D) HB"B(]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"B(@6" M('EA;FL@
- XM=&AI<R!W;W)D(&EN=&\@=&AE($UA8W)O(')E9VES=&5R"FUA<"!8(" @(FUY
- XM=" *(@HB/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0HB(%0@+2!R97!L86-E('1H:7,@
- XM;&EN92!W:71H('1H92!S=')I;F<@)W,G"FUA<"!4(" @0R]S&PHB"B(]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]"B(@4B M('!U="!.97AT0VAA<@IM87 @4B @(")N
- XM< HB"B(]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"B(@5B M(&%D9"!T:&4@;&5T=&5R
- XM("=R)R H=&AE(')E<&QA8V4@=FD@8V]M;6%N9"D*;6%P(%8@("!A<AL*(@HB
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/0HB($H@+2!R97-T;W)E('1H92!C=7)R96YT
- XM(&-H87)A8W1E<@IM87 @2B @(")C< HB"B(]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM"B(@2" M('EA;FL@=&AI<R!L:6YE(&EN=&\@=&AE('-E8V]N9"!-86-R;R!R
- XM96=I<W1E<@IM87 @2" @(")R>20*(@HB/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0HB
- XM($8@+2!Y86YK($YE>'1#:&%R("AT:&ES(&UA8W)O(&ES(&-A;&QE9"!F<F]M
- XM('1H92!-86-R;R!R96=I<W1E<BD*;6%P($8@(" B;GEL"B(*(CT]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T*(B!>("T@<F5P;&%C92!T:&4@8W5R<F5N="!C:&%R86-T
- XM97(@=VET:"!A;B G6"<*;6%P(%X@("!R6 HB"B(]/3T]/3T]/3T]/3T]/3T]
- XM/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
- XM/3T]"B(@64ME1% @+2!C<F5A=&4@=&AE('-T871E('1A8FQE+"!.97AT0VAA
- XM<B!T86)L92!A;F0@:6YI=&EA;"!S=&%T90HB($YO=&4@=&AA="!Y;W4@:&%V
- XM92!T;R!E<V-A<&4@=&AE(&)A<B!C:&%R86-T97(L('-I;F-E(&ET(&ES('-P
- XM96-I86P@=&\*(B!T:&4@;6%P(&-O;6UA;F0@*&ET(&EN9&EC871E<R!A(&YE
- XM=R!L:6YE*2X*;6%P(%D@("!O<T4Q("!K("!.,2 @(" @("!S13%?(&UM($4R
- XM(" @(" @('-%,A9\(&UM(%,Q(" @(" @('-%,BX@;&P@13$;"FUA<"!+(" @
- XM;W-7,2 @:B @4S$@(" @(" @<U<Q7R!M;2!7,B @(" @("!S5S(6?"!M;2!.
- XM,2 @(" @("!S5S(N(&AH(%<Q&PIM87 @92 @(&]S3C$N(&AH(%<Q(" @(" @
- XM('-.,19\(&UM($XR(" @(" @('-.,B @:R @3C$@(" @(" @<TXR7R!M;2!%
- XM,1L*;6%P($0@("!O<U,Q+B!L;"!%,2 @(" @("!S4S$6?"!M;2!3,B @(" @
- XM("!S4S(@(&H@(%,Q(" @(" @('-3,E\@;6T@5S$;"FUA<"!0(" @;VY%,2!K
- XM1B!N13(@;$8@;E<Q($<D2D8@;E<R(&A&(&Y.,2!H1B!N3C(@:T8@;E,Q(&Q&
- X/(&Y3,B!')$I&( U%,1L*
- X
- Xend
- END_OF_FILE
- if test 16803 -ne `wc -c <'vim/macros/maze/maze_mac.UU'`; then
- echo shar: \"'vim/macros/maze/maze_mac.UU'\" unpacked with wrong size!
- else
- echo shar: Uudecoding \"'vim/macros/maze/maze_mac'\" \(12165 characters\)
- cat vim/macros/maze/maze_mac.UU | uudecode
- if test 12165 -ne `wc -c <'vim/macros/maze/maze_mac'`; then
- echo shar: \"'vim/macros/maze/maze_mac'\" uudecoded with wrong size!
- else
- rm vim/macros/maze/maze_mac.UU
- fi
- fi
- # end of 'vim/macros/maze/maze_mac.UU'
- fi
- if test -f 'vim/src/ascii.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vim/src/ascii.h'\"
- else
- echo shar: Extracting \"'vim/src/ascii.h'\" \(787 characters\)
- sed "s/^X//" >'vim/src/ascii.h' <<'END_OF_FILE'
- X/* vi:ts=4:sw=4
- X *
- X * VIM - Vi IMproved by Bram Moolenaar
- X *
- X * Read the file "credits.txt" for a list of people who contributed.
- X * Read the file "uganda.txt" for copying and usage conditions.
- X */
- X
- X/*
- X * Definitions of various common control characters
- X */
- X
- X#define NUL '\000'
- X#define BS '\010'
- X#define BS_STR (char_u *)"\010"
- X#define TAB '\011'
- X#define NL '\012'
- X#define NL_STR (char_u *)"\012"
- X#define CR '\015'
- X#define ESC '\033'
- X#define ESC_STR (char_u *)"\033"
- X#define DEL 0x7f
- X#define CSI 0x9b
- X
- X#define Ctrl(x) ((x) & 0x1f)
- X#define Meta(x) ((x) | 0x80)
- X
- X/*
- X * character that separates dir names in a path
- X */
- X#ifdef MSDOS
- X# define PATHSEP '\\'
- X# define PATHSEPSTR "\\"
- X#else
- X# define PATHSEP '/'
- X# define PATHSEPSTR "/"
- X#endif
- END_OF_FILE
- if test 787 -ne `wc -c <'vim/src/ascii.h'`; then
- echo shar: \"'vim/src/ascii.h'\" unpacked with wrong size!
- fi
- # end of 'vim/src/ascii.h'
- fi
- echo shar: End of archive 6 \(of 26\).
- cp /dev/null ark6isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 26 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-