From 668eaf227d07b7361ec35e886a1de97ad5188c55 Mon Sep 17 00:00:00 2001 From: Jason Downs Date: Sun, 22 Sep 1996 01:03:22 +0000 Subject: vi -> nvi, ex -> nex --- usr.bin/vi/build/Makefile | 8 +- usr.bin/vi/docs/USD.doc/vi.man/nvi.1 | 1603 ++++++++++++++++++++++++++++++++++ usr.bin/vi/docs/USD.doc/vi.man/vi.1 | 1603 ---------------------------------- 3 files changed, 1607 insertions(+), 1607 deletions(-) create mode 100644 usr.bin/vi/docs/USD.doc/vi.man/nvi.1 delete mode 100644 usr.bin/vi/docs/USD.doc/vi.man/vi.1 diff --git a/usr.bin/vi/build/Makefile b/usr.bin/vi/build/Makefile index 8e1686327c2..97fb2a43ef2 100644 --- a/usr.bin/vi/build/Makefile +++ b/usr.bin/vi/build/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.5 1996/08/16 17:58:13 michaels Exp $ +# $OpenBSD: Makefile,v 1.6 1996/09/22 01:03:19 downsj Exp $ # # From @(#)Makefile.in 8.63 (Berkeley) 6/19/96 @@ -6,7 +6,7 @@ CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../include LDADD+= -lcurses -ltermlib DPADD+= ${LIBCURSES} ${LIBTERMLIB} -PROG= vi +PROG= nvi SRCS= cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \ cut.c delete.c ex.c ex_abbrev.c ex_append.c ex_args.c ex_argv.c \ ex_at.c ex_bang.c ex_cd.c ex_cmd.c ex_cscope.c ex_delete.c \ @@ -26,8 +26,8 @@ SRCS= cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \ v_zexit.c vi.c vs_line.c vs_msg.c vs_refresh.c vs_relative.c \ vs_smap.c vs_split.c -LINKS= ${BINDIR}/vi ${BINDIR}/ex ${BINDIR}/vi ${BINDIR}/view -MLINKS= vi.1 ex.1 vi.1 view.1 +LINKS= ${BINDIR}/nvi ${BINDIR}/nex +MLINKS= nvi.1 nex.1 .PATH: ${.CURDIR}/../vi ${.CURDIR}/../ex ${.CURDIR}/../cl ${.CURDIR}/../common ${.CURDIR}/../docs/USD.doc/vi.man \ #${.CURDIR}/../svi ${.CURDIR}/../sex diff --git a/usr.bin/vi/docs/USD.doc/vi.man/nvi.1 b/usr.bin/vi/docs/USD.doc/vi.man/nvi.1 new file mode 100644 index 00000000000..9c9187dde71 --- /dev/null +++ b/usr.bin/vi/docs/USD.doc/vi.man/nvi.1 @@ -0,0 +1,1603 @@ +.\" Copyright (c) 1994 +.\" The Regents of the University of California. All rights reserved. +.\" Copyright (c) 1994, 1995, 1996 +.\" Keith Bostic. All rights reserved. +.\" +.\" This document may not be republished without written permission from +.\" Keith Bostic. +.\" +.\" See the LICENSE file for redistribution information. +.\" +.\" @(#)vi.1 8.49 (Berkeley) 8/20/96 +.\" +.TH VI 1 "August 20, 1996" +.UC +.SH NAME +ex, vi, view \- text editors +.SH SYNOPSIS +.B ex +[\c +.B -eFRrsv\c +] [\c +.BI -c " cmd"\c +] [\c +.BI -t " tag"\c +] [\c +.BI -w " size"\c +] [file ...] +.br +.B vi +[\c +.B -eFlRrv\c +] [\c +.BI -c " cmd"\c +] [\c +.BI -t " tag"\c +] [\c +.BI -w " size"\c +] [file ...] +.br +.B view +[\c +.B -eFRrv\c +] [\c +.BI -c " cmd"\c +] [\c +.BI -t " tag"\c +] [\c +.BI -w " size"\c +] [file ...] +.SH LICENSE +The vi program is freely redistributable. You are welcome to copy, +modify and share it with others under the conditions listed in the +LICENSE file. If any company (not individual!) finds vi sufficiently +useful that you would have purchased it, or if any company wishes to +redistribute it, contributions to the authors would be appreciated. +.SH DESCRIPTION +.I \&Vi +is a screen oriented text editor. +.I \&Ex +is a line-oriented text editor. +.I \&Ex +and +.I \&vi +are different interfaces to the same program, +and it is possible to switch back and forth during an edit session. +.I View +is the equivalent of using the +.B \-R +(read-only) option of +.IR \&vi . +.PP +This manual page is the one provided with the +.I nex/nvi +versions of the +.I ex/vi +text editors. +.I Nex/nvi +are intended as bug-for-bug compatible replacements for the original +Fourth Berkeley Software Distribution (4BSD) +.I \&ex +and +.I \&vi +programs. +For the rest of this manual page, +.I nex/nvi +is used only when it's necessary to distinguish it from the historic +implementations of +.IR ex/vi . +.PP +This manual page is intended for users already familiar with +.IR ex/vi . +Anyone else should almost certainly read a good tutorial on the +editor before this manual page. +If you're in an unfamiliar environment, and you absolutely have to +get work done immediately, read the section after the options +description, entitled ``Fast Startup''. +It's probably enough to get you going. +.PP +The following options are available: +.TP +.B \-c +Execute +.B cmd +immediately after starting the edit session. +Particularly useful for initial positioning in the file, however +.B cmd +is not limited to positioning commands. +This is the POSIX 1003.2 interface for the historic ``+cmd'' syntax. +.I Nex/nvi +supports both the old and new syntax. +.TP +.B \-e +Start editing in ex mode, as if the command name were +.IR \&ex . +.TP +.B \-F +Don't copy the entire file when first starting to edit. +(The default is to make a copy in case someone else modifies +the file during your edit session.) +.TP +.B \-l +Start editing with the lisp and showmatch options set. +.TP +.B \-R +Start editing in read-only mode, as if the command name was +.IR view , +or the +.B readonly +option was set. +.TP +.B \-r +Recover the specified files, or, if no files are specified, +list the files that could be recovered. +If no recoverable files by the specified name exist, +the file is edited as if the +.B \-r +option had not been specified. +.TP +.B \-s +Enter batch mode; applicable only to +.I \&ex +edit sessions. +Batch mode is useful when running +.I \&ex +scripts. +Prompts, informative messages and other user oriented message +are turned off, +and no startup files or environmental variables are read. +This is the POSIX 1003.2 interface for the historic ``\-'' argument. +.I \&Nex/nvi +supports both the old and new syntax. +.TP +.B \-t +Start editing at the specified tag. +(See +.IR ctags (1)). +.TP +.B \-w +Set the initial window size to the specified number of lines. +.TP +.B \-v +Start editing in vi mode, as if the command name was +.I \&vi +or +.IR view . +.PP +Command input for +.I ex/vi +is read from the standard input. +In the +.I \&vi +interface, it is an error if standard input is not a terminal. +In the +.I \&ex +interface, if standard input is not a terminal, +.I \&ex +will read commands from it regardless, however, the session will be a +batch mode session, exactly as if the +.B \-s +option had been specified. +.PP +.I Ex/vi +exits 0 on success, and greater than 0 if an error occurs. +.SH FAST STARTUP +This section will tell you the minimum amount that you need to +do simple editing tasks using +.IR \&vi . +If you've never used any screen editor before, you're likely to have +problems even with this simple introduction. +In that case you should find someone that already knows +.I \&vi +and have them walk you through this section. +.PP +.I \&Vi +is a screen editor. +This means that it takes up almost the entire screen, displaying part +of the file on each screen line, except for the last line of the screen. +The last line of the screen is used for you to give commands to +.IR \&vi , +and for +.I \&vi +to give information to you. +.PP +The other fact that you need to understand is that +.I \&vi +is a modeful editor, i.e. you are either entering text or you +are executing commands, and you have to be in the right mode +to do one or the other. +You will be in command mode when you first start editing a file. +There are commands that switch you into input mode. +There is only one key that takes you out of input mode, +and that is the key. +(Key names are written using less-than and greater-than signs, e.g. + means the ``escape'' key, usually labeled ``esc'' on your +terminal's keyboard.) +If you're ever confused as to which mode you're in, +keep entering the key until +.I \&vi +beeps at you. +(Generally, +.I \&vi +will beep at you if you try and do something that's not allowed. +It will also display error messages.) +.PP +To start editing a file, enter the command ``vi file_name''. +The command you should enter as soon as you start editing is +``:set verbose showmode''. +This will make the editor give you verbose error messages and display +the current mode at the bottom of the screen. +.PP +The commands to move around the file are: +.TP +.B h +Move the cursor left one character. +.TP +.B j +Move the cursor down one line. +.TP +.B k +Move the cursor up one line. +.TP +.B l +Move the cursor right one character. +.TP +.B +The cursor arrow keys should work, too. +.TP +.B /text +Search for the string ``text'' in the file, +and move the cursor to its first character. +.PP +The commands to enter new text are: +.TP +.B a +Append new text, +.I after +the cursor. +.TP +.B i +Insert new text, +.I before +the cursor. +.TP +.B o +Open a new line below the line the cursor is on, and start +entering text. +.TP +.B O +Open a new line above the line the cursor is on, and start +entering text. +.TP +.B +Once you've entered input mode using the one of the +.BR \&a , +.BR \&i , +.BR \&O +or +.B \&o +commands, use +.B +to quit entering text and return to command mode. +.PP +The commands to copy text are: +.TP +.B yy +Copy the line the cursor is on. +.TP +.B p +Append the copied line after the line the cursor is on. +.PP +The commands to delete text are: +.TP +.B dd +Delete the line the cursor is on. +.TP +.B x +Delete the character the cursor is on. +.PP +The commands to write the file are: +.TP +.B :w +Write the file back to the file with the name that you originally used +as an argument on the +.I \&vi +command line. +.TP +.B ":w file_name" +Write the file back to the file with the name ``file_name''. +.PP +The commands to quit editing and exit the editor are: +.TP +.B :q +Quit editing and leave vi (if you've modified the file, but not +saved your changes, +.I \&vi +will refuse to quit). +.TP +.B :q! +Quit, discarding any modifications that you may have made. +.PP +One final caution. +Unusual characters can take up more than one column on the screen, +and long lines can take up more than a single screen line. +The above commands work on ``physical'' characters and lines, +i.e. they affect the entire line no matter how many screen lines it +takes up and the entire character no matter how many screen columns +it takes up. +.SH VI COMMANDS +The following section describes the commands available in the command +mode of the +.I \&vi +editor. +In each entry below, the tag line is a usage synopsis for the command +character. +.PP +.TP +.B "[count] " +Search forward +.I count +times for the current word. +.TP +.B "[count] " +Page backwards +.I count +screens. +.TP +.B "[count] " +Scroll forward +.I count +lines. +.TP +.B "[count] " +Scroll forward +.I count +lines, leaving the current line and column as is, if possible. +.TP +.B "[count] " +Page forward +.I count +screens. +.TP +.B "" +Display the file information. +.TP +.B "" +.TP +.B "[count] h" +Move the cursor back +.I count +characters in the current line. +.TP +.B "[count] " +.TP +.B "[count] " +.TP +.B "[count] j" +Move the cursor down +.I count +lines without changing the current column. +.TP +.B "" +.TP +.B "" +Repaint the screen. +.TP +.B "[count] " +.TP +.B "[count] +" +Move the cursor down +.I count +lines to the first nonblank character of that line. +.TP +.B "[count] " +.TP +.B "[count] k" +Move the cursor up +.I count +lines, without changing the current column. +.TP +.B "" +Return to the most recent tag context. +.TP +.B "" +Scroll backwards +.I count +lines. +.TP +.B "" +Switch to the next lower screen in the window, or, to the first +screen if there are no lower screens in the window. +.TP +.B "" +Scroll backwards +.I count +lines, leaving the current line and column as is, if possible. +.TP +.B "" +Suspend the current editor session. +.TP +.B "" +Execute +.I \&ex +commands or cancel partial commands. +.TP +.B "" +Push a tag reference onto the tag stack. +.TP +.B "" +Switch to the most recently edited file. +.TP +.B "[count] " +.TP +.B "[count] l" +Move the cursor forward +.I count +characters without changing the current line. +.TP +.B "[count] ! motion shell-argument(s)" +Replace text with results from a shell command. +.TP +.B "[count] # #|+|-" +Increment or decrement the cursor number. +.TP +.B "[count] $" +Move the cursor to the end of a line. +.TP +.B "%" +Move to the matching character. +.TP +.B "&" +Repeat the previous substitution command on the current line. +.TP +.B "'" +.TP +.B "`" +Return to a context marked by the character +.IR . +.TP +.B "[count] (" +Back up +.I count +sentences. +.TP +.B "[count] )" +Move forward +.I count +sentences. +.TP +.B "[count] ," +Reverse find character +.I count +times. +.TP +.B "[count] -" +Move to first nonblank of the previous line, +.I count +times. +.TP +.B "[count] ." +Repeat the last +.I \&vi +command that modified text. +.TP +.B "/RE" +.TP +.B "/RE/ [offset]" +.TP +.B "?RE" +.TP +.B "?RE? [offset]" +.TP +.B "N" +.TP +.B "n" +Search forward or backward for a regular expression. +.TP +.B "0" +Move to the first character in the current line. +.TP +.B ":" +Execute an ex command. +.TP +.B "[count] ;" +Repeat the last character find +.I count +times. +.TP +.B "[count] < motion" +.TP +.B "[count] > motion" +Shift lines left or right. +.TP +.B "@ buffer" +Execute a named buffer. +.TP +.B "[count] A" +Enter input mode, appending the text after the end of the line. +.TP +.B "[count] B" +Move backwards +.I count +bigwords. +.TP +.B "[buffer] [count] C" +Change text from the current position to the end-of-line. +.TP +.B "[buffer] D" +Delete text from the current position to the end-of-line. +.TP +.B "[count] E" +Move forward +.I count +end-of-bigwords. +.TP +.B "[count] F " +Search +.I count +times backward through the current line for +.IR . +.TP +.B "[count] G" +Move to line +.IR count , +or the last line of the file if +.I count +not specified. +.TP +.B "[count] H" +Move to the screen line +.I "count - 1" +lines below the top of the screen. +.TP +.B "[count] I" +Enter input mode, inserting the text at the beginning of the line. +.TP +.B "[count] J" +Join lines. +.TP +.B "[count] L" +Move to the screen line +.I "count - 1" +lines above the bottom of the screen. +.TP +.B " M" +Move to the screen line in the middle of the screen. +.TP +.B "[count] O" +Enter input mode, appending text in a new line above the current line. +.TP +.B "[buffer] P" +Insert text from a buffer. +.TP +.B "Q" +Exit +.I \&vi +(or visual) mode and switch to +.I \&ex +mode. +.TP +.B "[count] R" +Enter input mode, replacing the characters in the current line. +.TP +.B "[buffer] [count] S" +Substitute +.I count +lines. +.TP +.B "[count] T " +Search backwards, +.I count +times, +through the current line for the character +.I after +the specified +.IR . +.TP +.B "U" +Restore the current line to its state before the cursor last +moved to it. +.TP +.B "[count] W" +Move forward +.I count +bigwords. +.TP +.B "[buffer] [count] X" +Delete +.I count +characters before the cursor. +.TP +.B "[buffer] [count] Y" +Copy (or ``yank'') +.I count +lines into the specified buffer. +.TP +.B "ZZ" +Write the file and exit +.IR \&vi . +.TP +.B "[count] [[" +Back up +.I count +section boundaries. +.TP +.B "[count] ]]" +Move forward +.I count +section boundaries. +.TP +.B "\&^" +Move to first nonblank character on the current line. +.TP +.B "[count] _" +Move down +.I "count - 1" +lines, to the first nonblank character. +.TP +.B "[count] a" +Enter input mode, appending the text after the cursor. +.TP +.B "[count] b" +Move backwards +.I count +words. +.TP +.B "[buffer] [count] c motion" +Change a region of text. +.TP +.B "[buffer] [count] d motion" +Delete a region of text. +.TP +.B "[count] e" +Move forward +.I count +end-of-words. +.TP +.B "[count] f" +Search forward, +.I count +times, through the rest of the current line for +.IR . +.TP +.B "[count] i" +Enter input mode, inserting the text before the cursor. +.TP +.B "m " +Save the current context (line and column) as +.IR . +.TP +.B "[count] o" +Enter input mode, appending text in a new line under the current line. +.TP +.B "[buffer] p" +Append text from a buffer. +.TP +.B "[count] r " +Replace +.I count +characters. +.TP +.B "[buffer] [count] s" +Substitute +.I count +characters in the current line starting with the current character. +.TP +.B "[count] t " +Search forward, +.I count +times, through the current line for the character immediately +.I before +.IR . +.TP +.B "u" +Undo the last change made to the file. +.TP +.B "[count] w" +Move forward +.I count +words. +.TP +.B "[buffer] [count] x" +Delete +.I count +characters. +.TP +.B "[buffer] [count] y motion" +Copy (or ``yank'') +a text region specified by the +.I count +and motion into a buffer. +.TP +.B "[count1] z [count2] -|.|+|^|" +Redraw, optionally repositioning and resizing the screen. +.TP +.B "[count] {" +Move backward +.I count +paragraphs. +.TP +.B "[count] |" +Move to a specific +.I column +position on the current line. +.TP +.B "[count] }" +Move forward +.I count +paragraphs. +.TP +.B "[count] ~" +Reverse the case of the next +.I count +character(s). +.TP +.B "[count] ~ motion" +Reverse the case of the characters in a text region specified by the +.I count +and +.IR motion . +.TP +.B "" +Interrupt the current operation. +.SH VI TEXT INPUT COMMANDS +The following section describes the commands available in the text +input mode of the +.I \&vi +editor. +.PP +.TP +.B "" +Replay the previous input. +.TP +.B "" +Erase to the previous +.B shiftwidth +column boundary. +.TP +.B "^" +Erase all of the autoindent characters, and reset the autoindent level. +.TP +.B "0" +Erase all of the autoindent characters. +.TP +.B "" +Insert sufficient +.I +and +.I +characters to move forward to the next +.B shiftwidth +column boundary. +.TP +.B " +.TP +.B "" +Erase the last character. +.TP +.B "" +Quote the next character. +.TP +.B " +Resolve all text input into the file, and return to command mode. +.TP +.B "" +Erase the current line. +.TP +.B "" +.TP +.B "" +Erase the last word. +The definition of word is dependent on the +.B altwerase +and +.B ttywerase +options. +.TP +.B "[0-9A-Fa-f]+" +Insert a character with the specified hexadecimal value into the text. +.TP +.B "" +Interrupt text input mode, returning to command mode. +.SH EX COMMANDS +The following section describes the commands available in the +.I \&ex +editor. +In each entry below, the tag line is a usage synopsis for the command. +.PP +.TP +.B "" +Scroll the screen. +.TP +.B "! argument(s)" +.TP +.B "[range]! argument(s)" +Execute a shell command, or filter lines through a shell command. +.TP +.B \&" +A comment. +.TP +.B "[range] nu[mber] [count] [flags]" +.TP +.B "[range] # [count] [flags]" +Display the selected lines, each preceded with its line number. +.TP +.B "@ buffer" +.TP +.B "* buffer" +Execute a buffer. +.TP +.B "[line] a[ppend][!]" +The input text is appended after the specified line. +.TP +.B "[range] c[hange][!] [count]" +The input text replaces the specified range. +.TP +.B "cs[cope] add | find | help | kill | reset" +Execute a Cscope command. +.TP +.B "[range] d[elete] [buffer] [count] [flags]" +Delete the lines from the file. +.TP +.B "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]" +Display buffers, Cscope connections, screens or tags. +.TP +.B "[Ee][dit][!] [+cmd] [file]" +.TP +.B "[Ee]x[!] [+cmd] [file]" +Edit a different file. +.TP +.B "exu[sage] [command]" +Display usage for an +.I \&ex +command. +.TP +.B "f[ile] [file]" +Display and optionally change the file name. +.TP +.B "[Ff]g [name]" +.I \&Vi +mode only. +Foreground the specified screen. +.TP +.B "[range] g[lobal] /pattern/ [commands]" +.TP +.B "[range] v /pattern/ [commands]" +Apply commands to lines matching (or not matching) a pattern. +.TP +.B "he[lp]" +Display a help message. +.TP +.B "[line] i[nsert][!]" +The input text is inserted before the specified line. +.TP +.B "[range] j[oin][!] [count] [flags]" +Join lines of text together. +.TP +.B "[range] l[ist] [count] [flags]" +Display the lines unambiguously. +.TP +.B "map[!] [lhs rhs]" +Define or display maps (for +.I \&vi +only). +.TP +.B "[line] ma[rk] " +.TP +.B "[line] k " +Mark the line with the mark +.IR . +.TP +.B "[range] m[ove] line" +Move the specified lines after the target line. +.TP +.B "mk[exrc][!] file" +Write the abbreviations, editor options and maps to the specified +file. +.TP +.B "[Nn][ext][!] [file ...]" +Edit the next file from the argument list. +.TP +.B "[line] o[pen] /pattern/ [flags]" +Enter open mode. +.TP +.B "pre[serve]" +Save the file in a form that can later be recovered using the +.I \&ex +.B \-r +option. +.TP +.B "[Pp]rev[ious][!]" +Edit the previous file from the argument list. +.TP +.B "[range] p[rint] [count] [flags]" +Display the specified lines. +.TP +.B "[line] pu[t] [buffer]" +Append buffer contents to the current line. +.TP +.B "q[uit][!]" +End the editing session. +.TP +.B "[line] r[ead][!] [file]" +Read a file. +.TP +.B "rec[over] file" +Recover +.I file +if it was previously saved. +.TP +.B "res[ize] [+|-]size" +.I \&Vi +mode only. +Grow or shrink the current screen. +.TP +.B "rew[ind][!]" +Rewind the argument list. +.TP +.B "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]" +Display or set editor options. +.TP +.B "sh[ell]" +Run a shell program. +.TP +.B "so[urce] file" +Read and execute +.I \&ex +commands from a file. +.TP +.B "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]" +.TP +.B "[range] & [options] [count] [flags]" +.TP +.B "[range] ~ [options] [count] [flags]" +Make substitutions. +.TP +.B "su[spend][!]" +.TP +.B "st[op][!]" +.TP +.B +Suspend the edit session. +.TP +.B "[Tt]a[g][!] tagstring" +Edit the file containing the specified tag. +.TP +.B "tagn[ext][!]" +Edit the file containing the next context for the current tag. +.TP +.B "tagp[op][!] [file | number]" +Pop to the specified tag in the tags stack. +.TP +.B "tagp[rev][!]" +Edit the file containing the previous context for the current tag. +.TP +.B "unm[ap][!] lhs" +Unmap a mapped string. +.TP +.B "ve[rsion]" +Display the version of the +.I \&ex/vi +editor. +.TP +.B "[line] vi[sual] [type] [count] [flags]" +.I \&Ex +mode only. +Enter +.IR \&vi . +.TP +.B "[Vi]i[sual][!] [+cmd] [file]" +.I \&Vi +mode only. +Edit a new file. +.TP +.B "viu[sage] [command]" +Display usage for a +.I \&vi +command. +.TP +.B "[range] w[rite][!] [>>] [file]" +.TP +.B "[range] w[rite] [!] [file]" +.TP +.B "[range] wn[!] [>>] [file]" +.TP +.B "[range] wq[!] [>>] [file]" +Write the file. +.TP +.B "[range] x[it][!] [file]" +Write the file if it has been modified. +.TP +.B "[range] ya[nk] [buffer] [count]" +Copy the specified lines to a buffer. +.TP +.B "[line] z [type] [count] [flags]" +Adjust the window. +.SH SET OPTIONS +There are a large number of options that may be set (or unset) to +change the editor's behavior. +This section describes the options, their abbreviations and their +default values. +.PP +In each entry below, the first part of the tag line is the full name +of the option, followed by any equivalent abbreviations. +The part in square brackets is the default value of the option. +Most of the options are boolean, i.e. they are either on or off, +and do not have an associated value. +.PP +Options apply to both +.I \&ex +and +.I \&vi +modes, unless otherwise specified. +.PP +.TP +.B "altwerase [off]" +.I \&Vi +only. +Select an alternate word erase algorithm. +.TP +.B "autoindent, ai [off]" +Automatically indent new lines. +.TP +.B "autoprint, ap [off]" +.I \&Ex +only. +Display the current line automatically. +.TP +.B "autowrite, aw [off]" +Write modified files automatically when changing files. +.\" I cannot get a double quote to print between the square brackets +.\" to save my life. The ONLY way I've been able to get this to work +.\" is with the .tr command. +.tr Q" +.ds ms backup [QQ] +.TP +.B "\*(ms" +.tr QQ +Backup files before they are overwritten. +.TP +.B "beautify, bf [off]" +Discard control characters. +.TP +.B "cdpath [environment variable CDPATH, or current directory]" +The directory paths used as path prefixes for the +.B cd +command. +.TP +.B "cedit [no default]" +Set the character to edit the colon command-line history. +.TP +.B "columns, co [80]" +Set the number of columns in the screen. +.TP +.B "comment [off]" +.I \&Vi +only. +Skip leading comments in shell and C-language files. +.TP +.B "directory, dir [environment variable TMPDIR, or /tmp]" +The directory where temporary files are created. +.TP +.B "edcompatible, ed [off]" +Remember the values of the ``c'' and ``g'' suffices to the +.B substitute +commands, instead of initializing them as unset for each new +command. +.TP +.B "errorbells, eb [off]" +.I \&Ex +only. +Announce error messages with a bell. +.TP +.B "exrc, ex [off]" +Read the startup files in the local directory. +.TP +.B "extended [off]" +Regular expressions are extended (i.e. +.IR egrep (1)\-\c +style) expressions. +.TP +.B "filec [no default]" +Set the character to perform file path completion on the colon +command line. +.TP +.B "flash [on]" +Flash the screen instead of beeping the keyboard on error. +.TP +.B "hardtabs, ht [8]" +Set the spacing between hardware tab settings. +.TP +.B "iclower [off]" +Makes all Regular Expressions case-insensitive, +as long as an upper-case letter does not appear in the search string. +.TP +.B "ignorecase, ic [off]" +Ignore case differences in regular expressions. +.TP +.B "keytime [6]" +The 10th's of a second +.I ex/vi +waits for a subsequent key to complete a key mapping. +.TP +.B "leftright [off]" +.I \&Vi +only. +Do left-right scrolling. +.TP +.B "lines, li [24]" +.I \&Vi +only. +Set the number of lines in the screen. +.TP +.B "lisp [off]" +.I \&Vi +only. +Modify various search commands and options to work with Lisp. +.I "This option is not yet implemented." +.TP +.B "list [off]" +Display lines in an unambiguous fashion. +.TP +.B "lock [on]" +Attempt to get an exclusive lock on any file being edited, +read or written. +.TP +.B "magic [on]" +Treat certain characters specially in regular expressions. +.TP +.B "matchtime [7]" +.I \&Vi +only. +The 10th's of a second +.I ex/vi +pauses on the matching character when the +.B showmatch +option is set. +.TP +.B "mesg [on]" +Permit messages from other users. +.TP +.B "modelines, modeline [off]" +Read the first and last few lines of each file for +.I ex +commands. +.I "This option will never be implemented." +.\" I cannot get a double quote to print between the square brackets +.\" to save my life. The ONLY way I've been able to get this to work +.\" is with the .tr command. +.tr Q" +.ds ms noprint [QQ] +.TP +.B "\*(ms" +.tr QQ +Characters that are never handled as printable characters. +.TP +.B "number, nu [off]" +Precede each line displayed with its current line number. +.TP +.B "octal [off]" +Display unknown characters as octal numbers, instead of the default +hexadecimal. +.TP +.B "open [on]" +.I \&Ex +only. +If this option is not set, the +.B open +and +.B visual +commands are disallowed. +.TP +.B "optimize, opt [on]" +.I \&Vi +only. +Optimize text throughput to dumb terminals. +.I "This option is not yet implemented." +.TP +.B "paragraphs, para [IPLPPPQPP LIpplpipbp]" +.I \&Vi +only. +Define additional paragraph boundaries for the +.B \&{ +and +.B \&} +commands. +.TP +.B "path []" +Define additional directories to search for files being edited. +.\" I cannot get a double quote to print between the square brackets +.\" to save my life. The ONLY way I've been able to get this to work +.\" is with the .tr command. +.tr Q" +.ds ms print [QQ] +.TP +.B "\*(ms" +.tr QQ +Characters that are always handled as printable characters. +.TP +.B "prompt [on]" +.I \&Ex +only. +Display a command prompt. +.TP +.B "readonly, ro [off]" +Mark the file and session as read-only. +.TP +.B "recdir [/var/tmp/vi.recover]" +The directory where recovery files are stored. +.TP +.B "redraw, re [off]" +.I \&Vi +only. +Simulate an intelligent terminal on a dumb one. +.I "This option is not yet implemented." +.TP +.B "remap [on]" +Remap keys until resolved. +.TP +.B "report [5]" +Set the number of lines about which the editor reports changes +or yanks. +.TP +.B "ruler [off]" +.I \&Vi +only. +Display a row/column ruler on the colon command line. +.TP +.B "scroll, scr [window / 2]" +Set the number of lines scrolled. +.TP +.B "searchincr [off]" +Makes the +.B \&/ +and +.B \&? +commands incremental. +.TP +.B "sections, sect [NHSHH HUnhsh]" +.I \&Vi +only. +Define additional section boundaries for the +.B \&[[ +and +.B \&]] +commands. +.TP +.B "secure [off]" +Turns off all access to external programs. +.TP +.B "shell, sh [environment variable SHELL, or /bin/sh]" +Select the shell used by the editor. +.\" I cannot get a double quote to print between the square brackets +.\" to save my life. The ONLY way I've been able to get this to work +.\" is with the .tr command. +.tr Q" +.ds ms shellmeta [~{[*?$`'Q\e] +.TP +.B "\*(ms" +.tr QQ +Set the meta characters checked to determine if file name expansion +is necessary. +.TP +.B "shiftwidth, sw [8]" +Set the autoindent and shift command indentation width. +.TP +.B "showmatch, sm [off]" +.I \&Vi +only. +Note matching ``{'' and ``('' for ``}'' and ``)'' characters. +.TP +.B "showmode, smd [off]" +.I \&Vi +only. +Display the current editor mode and a ``modified'' flag. +.TP +.B "sidescroll [16]" +.I \&Vi +only. +Set the amount a left-right scroll will shift. +.TP +.B "slowopen, slow [off]" +Delay display updating during text input. +.I "This option is not yet implemented." +.TP +.B "sourceany [off]" +Read startup files not owned by the current user. +.I "This option will never be implemented." +.TP +.B "tabstop, ts [8]" +This option sets tab widths for the editor display. +.TP +.B "taglength, tl [0]" +Set the number of significant characters in tag names. +.TP +.B "tags, tag [tags /var/db/libc.tags /sys/kern/tags]" +Set the list of tags files. +.TP +.B "term, ttytype, tty [environment variable TERM]" +Set the terminal type. +.TP +.B "terse [off]" +This option has historically made editor messages less verbose. +It has no effect in this implementation. +.TP +.B "tildeop [off]" +Modify the +.B \&~ +command to take an associated motion. +.TP +.B "timeout, to [on]" +Time out on keys which may be mapped. +.TP +.B "ttywerase [off]" +.I \&Vi +only. +Select an alternate erase algorithm. +.TP +.B "verbose [off]" +.I \&Vi +only. +Display an error message for every error. +.TP +.B "w300 [no default]" +.I \&Vi +only. +Set the window size if the baud rate is less than 1200 baud. +.TP +.B "w1200 [no default]" +.I \&Vi +only. +Set the window size if the baud rate is equal to 1200 baud. +.TP +.B "w9600 [no default]" +.I \&Vi +only. +Set the window size if the baud rate is greater than 1200 baud. +.TP +.B "warn [on]" +.I \&Ex +only. +This option causes a warning message to the terminal if the file has +been modified, since it was last written, before a +.B \&! +command. +.TP +.B "window, w, wi [environment variable LINES]" +Set the window size for the screen. +.TP +.B "windowname [off]" +Change the icon/window name to the current file name even if it can't +be restored on editor exit. +.TP +.B "wraplen, wl [0]" +.I \&Vi +only. +Break lines automatically, the specified number of columns from the +left-hand margin. +If both the +.B wraplen +and +.B wrapmargin +edit options are set, the +.B wrapmargin +value is used. +.TP +.B "wrapmargin, wm [0]" +.I \&Vi +only. +Break lines automatically, the specified number of columns from the +right-hand margin. +If both the +.B wraplen +and +.B wrapmargin +edit options are set, the +.B wrapmargin +value is used. +.TP +.B "wrapscan, ws [on]" +Set searches to wrap around the end or beginning of the file. +.TP +.B "writeany, wa [off]" +Turn off file-overwriting checks. +.SH ENVIRONMENTAL VARIABLES +.TP +.I COLUMNS +The number of columns on the screen. +This value overrides any system or terminal specific values. +If the +.I COLUMNS +environmental variable is not set when +.I ex/vi +runs, or the +.B columns +option is explicitly reset by the user, +.I ex/vi +enters the value into the environment. +.TP +.I EXINIT +A list of +.I \&ex +startup commands, read if the variable +.I NEXINIT +is not set. +.TP +.I HOME +The user's home directory, used as the initial directory path +for the startup ``$\fIHOME\fP/.nexrc'' and ``$\fIHOME\fP/.exrc'' +files. +This value is also used as the default directory for the +.I \&vi +.B \&cd +command. +.TP +.I LINES +The number of rows on the screen. +This value overrides any system or terminal specific values. +If the +.I LINES +environmental variable is not set when +.I ex/vi +runs, or the +.B lines +option is explicitly reset by the user, +.I ex/vi +enters the value into the environment. +.TP +.I NEXINIT +A list of +.I \&ex +startup commands. +.TP +.I SHELL +The user's shell of choice (see also the +.B shell +option). +.TP +.I TERM +The user's terminal type. +The default is the type ``unknown''. +If the +.I TERM +environmental variable is not set when +.I ex/vi +runs, or the +.B term +option is explicitly reset by the user, +.I ex/vi +enters the value into the environment. +.TP +.I TMPDIR +The location used to stored temporary files (see also the +.B directory +edit option). +.SH ASYNCHRONOUS EVENTS +.TP +SIGALRM +.I \&Vi/ex +uses this signal for periodic backups of file modifications and to +display ``busy'' messages when operations are likely to take a long time. +.TP +SIGHUP +.TP +SIGTERM +If the current buffer has changed since it was last written in its +entirety, the editor attempts to save the modified file so it can +be later recovered. +See the +.I \&vi/ex +Reference manual section entitled ``Recovery'' for more information. +.TP +SIGINT +When an interrupt occurs, +the current operation is halted, +and the editor returns to the command level. +If interrupted during text input, +the text already input is resolved into the file as if the text +input had been normally terminated. +.TP +SIGWINCH +The screen is resized. +See the +.I \&vi/ex +Reference manual section entitled ``Sizing the Screen'' for more information. +.TP +SIGCONT +.TP +SIGQUIT +.TP +SIGTSTP +.I \&Vi/ex +ignores these signals. +.SH FILES +.TP +/bin/sh +The default user shell. +.TP +/etc/vi.exrc +System-wide vi startup file. +.TP +/tmp +Temporary file directory. +.TP +/var/tmp/vi.recover +The default recovery file directory. +.TP +$HOME/.nexrc +1st choice for user's home directory startup file. +.TP +$HOME/.exrc +2nd choice for user's home directory startup file. +.TP +\&.nexrc +1st choice for local directory startup file. +.TP +\&.exrc +2nd choice for local directory startup file. +.SH SEE ALSO +.IR ctags (1), +.IR more (3), +.IR curses (3), +.IR dbopen (3) +.sp +The ``Vi Quick Reference'' card. +.sp +``An Introduction to Display Editing with Vi'', found in the +``UNIX User's Manual Supplementary Documents'' +section of both the 4.3BSD and 4.4BSD manual sets. +This document is the closest thing available to an introduction to the +.I \&vi +screen editor. +.sp +``Ex Reference Manual (Version 3.7)'', +found in the +``UNIX User's Manual Supplementary Documents'' +section of both the 4.3BSD and 4.4BSD manual sets. +This document is the final reference for the +.I \&ex +editor, as distributed in most historic 4BSD and System V systems. +.sp +``Edit: A tutorial'', +found in the +``UNIX User's Manual Supplementary Documents'' +section of the 4.3BSD manual set. +This document is an introduction to a simple version of the +.I \&ex +screen editor. +.sp +``Ex/Vi Reference Manual'', +found in the +``UNIX User's Manual Supplementary Documents'' +section of the 4.4BSD manual set. +This document is the final reference for the +.I \&nex/nvi +text editors, as distributed in 4.4BSD and 4.4BSD-Lite. +.PP +.I Roff +source for all of these documents is distributed with +.I nex/nvi +in the +.I nvi/USD.doc +directory of the +.I nex/nvi +source code. +.sp +The files ``autowrite'', ``input'', ``quoting'' and ``structures'' +found in the +.I nvi/docs/internals +directory of the +.I nex/nvi +source code. +.SH HISTORY +The +.I nex/nvi +replacements for the +.I ex/vi +editor first appeared in 4.4BSD. +.SH STANDARDS +.I \&Nex/nvi +is close to IEEE Std1003.2 (``POSIX''). +That document differs from historical +.I ex/vi +practice in several places; there are changes to be made on both sides. diff --git a/usr.bin/vi/docs/USD.doc/vi.man/vi.1 b/usr.bin/vi/docs/USD.doc/vi.man/vi.1 deleted file mode 100644 index 9c9187dde71..00000000000 --- a/usr.bin/vi/docs/USD.doc/vi.man/vi.1 +++ /dev/null @@ -1,1603 +0,0 @@ -.\" Copyright (c) 1994 -.\" The Regents of the University of California. All rights reserved. -.\" Copyright (c) 1994, 1995, 1996 -.\" Keith Bostic. All rights reserved. -.\" -.\" This document may not be republished without written permission from -.\" Keith Bostic. -.\" -.\" See the LICENSE file for redistribution information. -.\" -.\" @(#)vi.1 8.49 (Berkeley) 8/20/96 -.\" -.TH VI 1 "August 20, 1996" -.UC -.SH NAME -ex, vi, view \- text editors -.SH SYNOPSIS -.B ex -[\c -.B -eFRrsv\c -] [\c -.BI -c " cmd"\c -] [\c -.BI -t " tag"\c -] [\c -.BI -w " size"\c -] [file ...] -.br -.B vi -[\c -.B -eFlRrv\c -] [\c -.BI -c " cmd"\c -] [\c -.BI -t " tag"\c -] [\c -.BI -w " size"\c -] [file ...] -.br -.B view -[\c -.B -eFRrv\c -] [\c -.BI -c " cmd"\c -] [\c -.BI -t " tag"\c -] [\c -.BI -w " size"\c -] [file ...] -.SH LICENSE -The vi program is freely redistributable. You are welcome to copy, -modify and share it with others under the conditions listed in the -LICENSE file. If any company (not individual!) finds vi sufficiently -useful that you would have purchased it, or if any company wishes to -redistribute it, contributions to the authors would be appreciated. -.SH DESCRIPTION -.I \&Vi -is a screen oriented text editor. -.I \&Ex -is a line-oriented text editor. -.I \&Ex -and -.I \&vi -are different interfaces to the same program, -and it is possible to switch back and forth during an edit session. -.I View -is the equivalent of using the -.B \-R -(read-only) option of -.IR \&vi . -.PP -This manual page is the one provided with the -.I nex/nvi -versions of the -.I ex/vi -text editors. -.I Nex/nvi -are intended as bug-for-bug compatible replacements for the original -Fourth Berkeley Software Distribution (4BSD) -.I \&ex -and -.I \&vi -programs. -For the rest of this manual page, -.I nex/nvi -is used only when it's necessary to distinguish it from the historic -implementations of -.IR ex/vi . -.PP -This manual page is intended for users already familiar with -.IR ex/vi . -Anyone else should almost certainly read a good tutorial on the -editor before this manual page. -If you're in an unfamiliar environment, and you absolutely have to -get work done immediately, read the section after the options -description, entitled ``Fast Startup''. -It's probably enough to get you going. -.PP -The following options are available: -.TP -.B \-c -Execute -.B cmd -immediately after starting the edit session. -Particularly useful for initial positioning in the file, however -.B cmd -is not limited to positioning commands. -This is the POSIX 1003.2 interface for the historic ``+cmd'' syntax. -.I Nex/nvi -supports both the old and new syntax. -.TP -.B \-e -Start editing in ex mode, as if the command name were -.IR \&ex . -.TP -.B \-F -Don't copy the entire file when first starting to edit. -(The default is to make a copy in case someone else modifies -the file during your edit session.) -.TP -.B \-l -Start editing with the lisp and showmatch options set. -.TP -.B \-R -Start editing in read-only mode, as if the command name was -.IR view , -or the -.B readonly -option was set. -.TP -.B \-r -Recover the specified files, or, if no files are specified, -list the files that could be recovered. -If no recoverable files by the specified name exist, -the file is edited as if the -.B \-r -option had not been specified. -.TP -.B \-s -Enter batch mode; applicable only to -.I \&ex -edit sessions. -Batch mode is useful when running -.I \&ex -scripts. -Prompts, informative messages and other user oriented message -are turned off, -and no startup files or environmental variables are read. -This is the POSIX 1003.2 interface for the historic ``\-'' argument. -.I \&Nex/nvi -supports both the old and new syntax. -.TP -.B \-t -Start editing at the specified tag. -(See -.IR ctags (1)). -.TP -.B \-w -Set the initial window size to the specified number of lines. -.TP -.B \-v -Start editing in vi mode, as if the command name was -.I \&vi -or -.IR view . -.PP -Command input for -.I ex/vi -is read from the standard input. -In the -.I \&vi -interface, it is an error if standard input is not a terminal. -In the -.I \&ex -interface, if standard input is not a terminal, -.I \&ex -will read commands from it regardless, however, the session will be a -batch mode session, exactly as if the -.B \-s -option had been specified. -.PP -.I Ex/vi -exits 0 on success, and greater than 0 if an error occurs. -.SH FAST STARTUP -This section will tell you the minimum amount that you need to -do simple editing tasks using -.IR \&vi . -If you've never used any screen editor before, you're likely to have -problems even with this simple introduction. -In that case you should find someone that already knows -.I \&vi -and have them walk you through this section. -.PP -.I \&Vi -is a screen editor. -This means that it takes up almost the entire screen, displaying part -of the file on each screen line, except for the last line of the screen. -The last line of the screen is used for you to give commands to -.IR \&vi , -and for -.I \&vi -to give information to you. -.PP -The other fact that you need to understand is that -.I \&vi -is a modeful editor, i.e. you are either entering text or you -are executing commands, and you have to be in the right mode -to do one or the other. -You will be in command mode when you first start editing a file. -There are commands that switch you into input mode. -There is only one key that takes you out of input mode, -and that is the key. -(Key names are written using less-than and greater-than signs, e.g. - means the ``escape'' key, usually labeled ``esc'' on your -terminal's keyboard.) -If you're ever confused as to which mode you're in, -keep entering the key until -.I \&vi -beeps at you. -(Generally, -.I \&vi -will beep at you if you try and do something that's not allowed. -It will also display error messages.) -.PP -To start editing a file, enter the command ``vi file_name''. -The command you should enter as soon as you start editing is -``:set verbose showmode''. -This will make the editor give you verbose error messages and display -the current mode at the bottom of the screen. -.PP -The commands to move around the file are: -.TP -.B h -Move the cursor left one character. -.TP -.B j -Move the cursor down one line. -.TP -.B k -Move the cursor up one line. -.TP -.B l -Move the cursor right one character. -.TP -.B -The cursor arrow keys should work, too. -.TP -.B /text -Search for the string ``text'' in the file, -and move the cursor to its first character. -.PP -The commands to enter new text are: -.TP -.B a -Append new text, -.I after -the cursor. -.TP -.B i -Insert new text, -.I before -the cursor. -.TP -.B o -Open a new line below the line the cursor is on, and start -entering text. -.TP -.B O -Open a new line above the line the cursor is on, and start -entering text. -.TP -.B -Once you've entered input mode using the one of the -.BR \&a , -.BR \&i , -.BR \&O -or -.B \&o -commands, use -.B -to quit entering text and return to command mode. -.PP -The commands to copy text are: -.TP -.B yy -Copy the line the cursor is on. -.TP -.B p -Append the copied line after the line the cursor is on. -.PP -The commands to delete text are: -.TP -.B dd -Delete the line the cursor is on. -.TP -.B x -Delete the character the cursor is on. -.PP -The commands to write the file are: -.TP -.B :w -Write the file back to the file with the name that you originally used -as an argument on the -.I \&vi -command line. -.TP -.B ":w file_name" -Write the file back to the file with the name ``file_name''. -.PP -The commands to quit editing and exit the editor are: -.TP -.B :q -Quit editing and leave vi (if you've modified the file, but not -saved your changes, -.I \&vi -will refuse to quit). -.TP -.B :q! -Quit, discarding any modifications that you may have made. -.PP -One final caution. -Unusual characters can take up more than one column on the screen, -and long lines can take up more than a single screen line. -The above commands work on ``physical'' characters and lines, -i.e. they affect the entire line no matter how many screen lines it -takes up and the entire character no matter how many screen columns -it takes up. -.SH VI COMMANDS -The following section describes the commands available in the command -mode of the -.I \&vi -editor. -In each entry below, the tag line is a usage synopsis for the command -character. -.PP -.TP -.B "[count] " -Search forward -.I count -times for the current word. -.TP -.B "[count] " -Page backwards -.I count -screens. -.TP -.B "[count] " -Scroll forward -.I count -lines. -.TP -.B "[count] " -Scroll forward -.I count -lines, leaving the current line and column as is, if possible. -.TP -.B "[count] " -Page forward -.I count -screens. -.TP -.B "" -Display the file information. -.TP -.B "" -.TP -.B "[count] h" -Move the cursor back -.I count -characters in the current line. -.TP -.B "[count] " -.TP -.B "[count] " -.TP -.B "[count] j" -Move the cursor down -.I count -lines without changing the current column. -.TP -.B "" -.TP -.B "" -Repaint the screen. -.TP -.B "[count] " -.TP -.B "[count] +" -Move the cursor down -.I count -lines to the first nonblank character of that line. -.TP -.B "[count] " -.TP -.B "[count] k" -Move the cursor up -.I count -lines, without changing the current column. -.TP -.B "" -Return to the most recent tag context. -.TP -.B "" -Scroll backwards -.I count -lines. -.TP -.B "" -Switch to the next lower screen in the window, or, to the first -screen if there are no lower screens in the window. -.TP -.B "" -Scroll backwards -.I count -lines, leaving the current line and column as is, if possible. -.TP -.B "" -Suspend the current editor session. -.TP -.B "" -Execute -.I \&ex -commands or cancel partial commands. -.TP -.B "" -Push a tag reference onto the tag stack. -.TP -.B "" -Switch to the most recently edited file. -.TP -.B "[count] " -.TP -.B "[count] l" -Move the cursor forward -.I count -characters without changing the current line. -.TP -.B "[count] ! motion shell-argument(s)" -Replace text with results from a shell command. -.TP -.B "[count] # #|+|-" -Increment or decrement the cursor number. -.TP -.B "[count] $" -Move the cursor to the end of a line. -.TP -.B "%" -Move to the matching character. -.TP -.B "&" -Repeat the previous substitution command on the current line. -.TP -.B "'" -.TP -.B "`" -Return to a context marked by the character -.IR . -.TP -.B "[count] (" -Back up -.I count -sentences. -.TP -.B "[count] )" -Move forward -.I count -sentences. -.TP -.B "[count] ," -Reverse find character -.I count -times. -.TP -.B "[count] -" -Move to first nonblank of the previous line, -.I count -times. -.TP -.B "[count] ." -Repeat the last -.I \&vi -command that modified text. -.TP -.B "/RE" -.TP -.B "/RE/ [offset]" -.TP -.B "?RE" -.TP -.B "?RE? [offset]" -.TP -.B "N" -.TP -.B "n" -Search forward or backward for a regular expression. -.TP -.B "0" -Move to the first character in the current line. -.TP -.B ":" -Execute an ex command. -.TP -.B "[count] ;" -Repeat the last character find -.I count -times. -.TP -.B "[count] < motion" -.TP -.B "[count] > motion" -Shift lines left or right. -.TP -.B "@ buffer" -Execute a named buffer. -.TP -.B "[count] A" -Enter input mode, appending the text after the end of the line. -.TP -.B "[count] B" -Move backwards -.I count -bigwords. -.TP -.B "[buffer] [count] C" -Change text from the current position to the end-of-line. -.TP -.B "[buffer] D" -Delete text from the current position to the end-of-line. -.TP -.B "[count] E" -Move forward -.I count -end-of-bigwords. -.TP -.B "[count] F " -Search -.I count -times backward through the current line for -.IR . -.TP -.B "[count] G" -Move to line -.IR count , -or the last line of the file if -.I count -not specified. -.TP -.B "[count] H" -Move to the screen line -.I "count - 1" -lines below the top of the screen. -.TP -.B "[count] I" -Enter input mode, inserting the text at the beginning of the line. -.TP -.B "[count] J" -Join lines. -.TP -.B "[count] L" -Move to the screen line -.I "count - 1" -lines above the bottom of the screen. -.TP -.B " M" -Move to the screen line in the middle of the screen. -.TP -.B "[count] O" -Enter input mode, appending text in a new line above the current line. -.TP -.B "[buffer] P" -Insert text from a buffer. -.TP -.B "Q" -Exit -.I \&vi -(or visual) mode and switch to -.I \&ex -mode. -.TP -.B "[count] R" -Enter input mode, replacing the characters in the current line. -.TP -.B "[buffer] [count] S" -Substitute -.I count -lines. -.TP -.B "[count] T " -Search backwards, -.I count -times, -through the current line for the character -.I after -the specified -.IR . -.TP -.B "U" -Restore the current line to its state before the cursor last -moved to it. -.TP -.B "[count] W" -Move forward -.I count -bigwords. -.TP -.B "[buffer] [count] X" -Delete -.I count -characters before the cursor. -.TP -.B "[buffer] [count] Y" -Copy (or ``yank'') -.I count -lines into the specified buffer. -.TP -.B "ZZ" -Write the file and exit -.IR \&vi . -.TP -.B "[count] [[" -Back up -.I count -section boundaries. -.TP -.B "[count] ]]" -Move forward -.I count -section boundaries. -.TP -.B "\&^" -Move to first nonblank character on the current line. -.TP -.B "[count] _" -Move down -.I "count - 1" -lines, to the first nonblank character. -.TP -.B "[count] a" -Enter input mode, appending the text after the cursor. -.TP -.B "[count] b" -Move backwards -.I count -words. -.TP -.B "[buffer] [count] c motion" -Change a region of text. -.TP -.B "[buffer] [count] d motion" -Delete a region of text. -.TP -.B "[count] e" -Move forward -.I count -end-of-words. -.TP -.B "[count] f" -Search forward, -.I count -times, through the rest of the current line for -.IR . -.TP -.B "[count] i" -Enter input mode, inserting the text before the cursor. -.TP -.B "m " -Save the current context (line and column) as -.IR . -.TP -.B "[count] o" -Enter input mode, appending text in a new line under the current line. -.TP -.B "[buffer] p" -Append text from a buffer. -.TP -.B "[count] r " -Replace -.I count -characters. -.TP -.B "[buffer] [count] s" -Substitute -.I count -characters in the current line starting with the current character. -.TP -.B "[count] t " -Search forward, -.I count -times, through the current line for the character immediately -.I before -.IR . -.TP -.B "u" -Undo the last change made to the file. -.TP -.B "[count] w" -Move forward -.I count -words. -.TP -.B "[buffer] [count] x" -Delete -.I count -characters. -.TP -.B "[buffer] [count] y motion" -Copy (or ``yank'') -a text region specified by the -.I count -and motion into a buffer. -.TP -.B "[count1] z [count2] -|.|+|^|" -Redraw, optionally repositioning and resizing the screen. -.TP -.B "[count] {" -Move backward -.I count -paragraphs. -.TP -.B "[count] |" -Move to a specific -.I column -position on the current line. -.TP -.B "[count] }" -Move forward -.I count -paragraphs. -.TP -.B "[count] ~" -Reverse the case of the next -.I count -character(s). -.TP -.B "[count] ~ motion" -Reverse the case of the characters in a text region specified by the -.I count -and -.IR motion . -.TP -.B "" -Interrupt the current operation. -.SH VI TEXT INPUT COMMANDS -The following section describes the commands available in the text -input mode of the -.I \&vi -editor. -.PP -.TP -.B "" -Replay the previous input. -.TP -.B "" -Erase to the previous -.B shiftwidth -column boundary. -.TP -.B "^" -Erase all of the autoindent characters, and reset the autoindent level. -.TP -.B "0" -Erase all of the autoindent characters. -.TP -.B "" -Insert sufficient -.I -and -.I -characters to move forward to the next -.B shiftwidth -column boundary. -.TP -.B " -.TP -.B "" -Erase the last character. -.TP -.B "" -Quote the next character. -.TP -.B " -Resolve all text input into the file, and return to command mode. -.TP -.B "" -Erase the current line. -.TP -.B "" -.TP -.B "" -Erase the last word. -The definition of word is dependent on the -.B altwerase -and -.B ttywerase -options. -.TP -.B "[0-9A-Fa-f]+" -Insert a character with the specified hexadecimal value into the text. -.TP -.B "" -Interrupt text input mode, returning to command mode. -.SH EX COMMANDS -The following section describes the commands available in the -.I \&ex -editor. -In each entry below, the tag line is a usage synopsis for the command. -.PP -.TP -.B "" -Scroll the screen. -.TP -.B "! argument(s)" -.TP -.B "[range]! argument(s)" -Execute a shell command, or filter lines through a shell command. -.TP -.B \&" -A comment. -.TP -.B "[range] nu[mber] [count] [flags]" -.TP -.B "[range] # [count] [flags]" -Display the selected lines, each preceded with its line number. -.TP -.B "@ buffer" -.TP -.B "* buffer" -Execute a buffer. -.TP -.B "[line] a[ppend][!]" -The input text is appended after the specified line. -.TP -.B "[range] c[hange][!] [count]" -The input text replaces the specified range. -.TP -.B "cs[cope] add | find | help | kill | reset" -Execute a Cscope command. -.TP -.B "[range] d[elete] [buffer] [count] [flags]" -Delete the lines from the file. -.TP -.B "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]" -Display buffers, Cscope connections, screens or tags. -.TP -.B "[Ee][dit][!] [+cmd] [file]" -.TP -.B "[Ee]x[!] [+cmd] [file]" -Edit a different file. -.TP -.B "exu[sage] [command]" -Display usage for an -.I \&ex -command. -.TP -.B "f[ile] [file]" -Display and optionally change the file name. -.TP -.B "[Ff]g [name]" -.I \&Vi -mode only. -Foreground the specified screen. -.TP -.B "[range] g[lobal] /pattern/ [commands]" -.TP -.B "[range] v /pattern/ [commands]" -Apply commands to lines matching (or not matching) a pattern. -.TP -.B "he[lp]" -Display a help message. -.TP -.B "[line] i[nsert][!]" -The input text is inserted before the specified line. -.TP -.B "[range] j[oin][!] [count] [flags]" -Join lines of text together. -.TP -.B "[range] l[ist] [count] [flags]" -Display the lines unambiguously. -.TP -.B "map[!] [lhs rhs]" -Define or display maps (for -.I \&vi -only). -.TP -.B "[line] ma[rk] " -.TP -.B "[line] k " -Mark the line with the mark -.IR . -.TP -.B "[range] m[ove] line" -Move the specified lines after the target line. -.TP -.B "mk[exrc][!] file" -Write the abbreviations, editor options and maps to the specified -file. -.TP -.B "[Nn][ext][!] [file ...]" -Edit the next file from the argument list. -.TP -.B "[line] o[pen] /pattern/ [flags]" -Enter open mode. -.TP -.B "pre[serve]" -Save the file in a form that can later be recovered using the -.I \&ex -.B \-r -option. -.TP -.B "[Pp]rev[ious][!]" -Edit the previous file from the argument list. -.TP -.B "[range] p[rint] [count] [flags]" -Display the specified lines. -.TP -.B "[line] pu[t] [buffer]" -Append buffer contents to the current line. -.TP -.B "q[uit][!]" -End the editing session. -.TP -.B "[line] r[ead][!] [file]" -Read a file. -.TP -.B "rec[over] file" -Recover -.I file -if it was previously saved. -.TP -.B "res[ize] [+|-]size" -.I \&Vi -mode only. -Grow or shrink the current screen. -.TP -.B "rew[ind][!]" -Rewind the argument list. -.TP -.B "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]" -Display or set editor options. -.TP -.B "sh[ell]" -Run a shell program. -.TP -.B "so[urce] file" -Read and execute -.I \&ex -commands from a file. -.TP -.B "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]" -.TP -.B "[range] & [options] [count] [flags]" -.TP -.B "[range] ~ [options] [count] [flags]" -Make substitutions. -.TP -.B "su[spend][!]" -.TP -.B "st[op][!]" -.TP -.B -Suspend the edit session. -.TP -.B "[Tt]a[g][!] tagstring" -Edit the file containing the specified tag. -.TP -.B "tagn[ext][!]" -Edit the file containing the next context for the current tag. -.TP -.B "tagp[op][!] [file | number]" -Pop to the specified tag in the tags stack. -.TP -.B "tagp[rev][!]" -Edit the file containing the previous context for the current tag. -.TP -.B "unm[ap][!] lhs" -Unmap a mapped string. -.TP -.B "ve[rsion]" -Display the version of the -.I \&ex/vi -editor. -.TP -.B "[line] vi[sual] [type] [count] [flags]" -.I \&Ex -mode only. -Enter -.IR \&vi . -.TP -.B "[Vi]i[sual][!] [+cmd] [file]" -.I \&Vi -mode only. -Edit a new file. -.TP -.B "viu[sage] [command]" -Display usage for a -.I \&vi -command. -.TP -.B "[range] w[rite][!] [>>] [file]" -.TP -.B "[range] w[rite] [!] [file]" -.TP -.B "[range] wn[!] [>>] [file]" -.TP -.B "[range] wq[!] [>>] [file]" -Write the file. -.TP -.B "[range] x[it][!] [file]" -Write the file if it has been modified. -.TP -.B "[range] ya[nk] [buffer] [count]" -Copy the specified lines to a buffer. -.TP -.B "[line] z [type] [count] [flags]" -Adjust the window. -.SH SET OPTIONS -There are a large number of options that may be set (or unset) to -change the editor's behavior. -This section describes the options, their abbreviations and their -default values. -.PP -In each entry below, the first part of the tag line is the full name -of the option, followed by any equivalent abbreviations. -The part in square brackets is the default value of the option. -Most of the options are boolean, i.e. they are either on or off, -and do not have an associated value. -.PP -Options apply to both -.I \&ex -and -.I \&vi -modes, unless otherwise specified. -.PP -.TP -.B "altwerase [off]" -.I \&Vi -only. -Select an alternate word erase algorithm. -.TP -.B "autoindent, ai [off]" -Automatically indent new lines. -.TP -.B "autoprint, ap [off]" -.I \&Ex -only. -Display the current line automatically. -.TP -.B "autowrite, aw [off]" -Write modified files automatically when changing files. -.\" I cannot get a double quote to print between the square brackets -.\" to save my life. The ONLY way I've been able to get this to work -.\" is with the .tr command. -.tr Q" -.ds ms backup [QQ] -.TP -.B "\*(ms" -.tr QQ -Backup files before they are overwritten. -.TP -.B "beautify, bf [off]" -Discard control characters. -.TP -.B "cdpath [environment variable CDPATH, or current directory]" -The directory paths used as path prefixes for the -.B cd -command. -.TP -.B "cedit [no default]" -Set the character to edit the colon command-line history. -.TP -.B "columns, co [80]" -Set the number of columns in the screen. -.TP -.B "comment [off]" -.I \&Vi -only. -Skip leading comments in shell and C-language files. -.TP -.B "directory, dir [environment variable TMPDIR, or /tmp]" -The directory where temporary files are created. -.TP -.B "edcompatible, ed [off]" -Remember the values of the ``c'' and ``g'' suffices to the -.B substitute -commands, instead of initializing them as unset for each new -command. -.TP -.B "errorbells, eb [off]" -.I \&Ex -only. -Announce error messages with a bell. -.TP -.B "exrc, ex [off]" -Read the startup files in the local directory. -.TP -.B "extended [off]" -Regular expressions are extended (i.e. -.IR egrep (1)\-\c -style) expressions. -.TP -.B "filec [no default]" -Set the character to perform file path completion on the colon -command line. -.TP -.B "flash [on]" -Flash the screen instead of beeping the keyboard on error. -.TP -.B "hardtabs, ht [8]" -Set the spacing between hardware tab settings. -.TP -.B "iclower [off]" -Makes all Regular Expressions case-insensitive, -as long as an upper-case letter does not appear in the search string. -.TP -.B "ignorecase, ic [off]" -Ignore case differences in regular expressions. -.TP -.B "keytime [6]" -The 10th's of a second -.I ex/vi -waits for a subsequent key to complete a key mapping. -.TP -.B "leftright [off]" -.I \&Vi -only. -Do left-right scrolling. -.TP -.B "lines, li [24]" -.I \&Vi -only. -Set the number of lines in the screen. -.TP -.B "lisp [off]" -.I \&Vi -only. -Modify various search commands and options to work with Lisp. -.I "This option is not yet implemented." -.TP -.B "list [off]" -Display lines in an unambiguous fashion. -.TP -.B "lock [on]" -Attempt to get an exclusive lock on any file being edited, -read or written. -.TP -.B "magic [on]" -Treat certain characters specially in regular expressions. -.TP -.B "matchtime [7]" -.I \&Vi -only. -The 10th's of a second -.I ex/vi -pauses on the matching character when the -.B showmatch -option is set. -.TP -.B "mesg [on]" -Permit messages from other users. -.TP -.B "modelines, modeline [off]" -Read the first and last few lines of each file for -.I ex -commands. -.I "This option will never be implemented." -.\" I cannot get a double quote to print between the square brackets -.\" to save my life. The ONLY way I've been able to get this to work -.\" is with the .tr command. -.tr Q" -.ds ms noprint [QQ] -.TP -.B "\*(ms" -.tr QQ -Characters that are never handled as printable characters. -.TP -.B "number, nu [off]" -Precede each line displayed with its current line number. -.TP -.B "octal [off]" -Display unknown characters as octal numbers, instead of the default -hexadecimal. -.TP -.B "open [on]" -.I \&Ex -only. -If this option is not set, the -.B open -and -.B visual -commands are disallowed. -.TP -.B "optimize, opt [on]" -.I \&Vi -only. -Optimize text throughput to dumb terminals. -.I "This option is not yet implemented." -.TP -.B "paragraphs, para [IPLPPPQPP LIpplpipbp]" -.I \&Vi -only. -Define additional paragraph boundaries for the -.B \&{ -and -.B \&} -commands. -.TP -.B "path []" -Define additional directories to search for files being edited. -.\" I cannot get a double quote to print between the square brackets -.\" to save my life. The ONLY way I've been able to get this to work -.\" is with the .tr command. -.tr Q" -.ds ms print [QQ] -.TP -.B "\*(ms" -.tr QQ -Characters that are always handled as printable characters. -.TP -.B "prompt [on]" -.I \&Ex -only. -Display a command prompt. -.TP -.B "readonly, ro [off]" -Mark the file and session as read-only. -.TP -.B "recdir [/var/tmp/vi.recover]" -The directory where recovery files are stored. -.TP -.B "redraw, re [off]" -.I \&Vi -only. -Simulate an intelligent terminal on a dumb one. -.I "This option is not yet implemented." -.TP -.B "remap [on]" -Remap keys until resolved. -.TP -.B "report [5]" -Set the number of lines about which the editor reports changes -or yanks. -.TP -.B "ruler [off]" -.I \&Vi -only. -Display a row/column ruler on the colon command line. -.TP -.B "scroll, scr [window / 2]" -Set the number of lines scrolled. -.TP -.B "searchincr [off]" -Makes the -.B \&/ -and -.B \&? -commands incremental. -.TP -.B "sections, sect [NHSHH HUnhsh]" -.I \&Vi -only. -Define additional section boundaries for the -.B \&[[ -and -.B \&]] -commands. -.TP -.B "secure [off]" -Turns off all access to external programs. -.TP -.B "shell, sh [environment variable SHELL, or /bin/sh]" -Select the shell used by the editor. -.\" I cannot get a double quote to print between the square brackets -.\" to save my life. The ONLY way I've been able to get this to work -.\" is with the .tr command. -.tr Q" -.ds ms shellmeta [~{[*?$`'Q\e] -.TP -.B "\*(ms" -.tr QQ -Set the meta characters checked to determine if file name expansion -is necessary. -.TP -.B "shiftwidth, sw [8]" -Set the autoindent and shift command indentation width. -.TP -.B "showmatch, sm [off]" -.I \&Vi -only. -Note matching ``{'' and ``('' for ``}'' and ``)'' characters. -.TP -.B "showmode, smd [off]" -.I \&Vi -only. -Display the current editor mode and a ``modified'' flag. -.TP -.B "sidescroll [16]" -.I \&Vi -only. -Set the amount a left-right scroll will shift. -.TP -.B "slowopen, slow [off]" -Delay display updating during text input. -.I "This option is not yet implemented." -.TP -.B "sourceany [off]" -Read startup files not owned by the current user. -.I "This option will never be implemented." -.TP -.B "tabstop, ts [8]" -This option sets tab widths for the editor display. -.TP -.B "taglength, tl [0]" -Set the number of significant characters in tag names. -.TP -.B "tags, tag [tags /var/db/libc.tags /sys/kern/tags]" -Set the list of tags files. -.TP -.B "term, ttytype, tty [environment variable TERM]" -Set the terminal type. -.TP -.B "terse [off]" -This option has historically made editor messages less verbose. -It has no effect in this implementation. -.TP -.B "tildeop [off]" -Modify the -.B \&~ -command to take an associated motion. -.TP -.B "timeout, to [on]" -Time out on keys which may be mapped. -.TP -.B "ttywerase [off]" -.I \&Vi -only. -Select an alternate erase algorithm. -.TP -.B "verbose [off]" -.I \&Vi -only. -Display an error message for every error. -.TP -.B "w300 [no default]" -.I \&Vi -only. -Set the window size if the baud rate is less than 1200 baud. -.TP -.B "w1200 [no default]" -.I \&Vi -only. -Set the window size if the baud rate is equal to 1200 baud. -.TP -.B "w9600 [no default]" -.I \&Vi -only. -Set the window size if the baud rate is greater than 1200 baud. -.TP -.B "warn [on]" -.I \&Ex -only. -This option causes a warning message to the terminal if the file has -been modified, since it was last written, before a -.B \&! -command. -.TP -.B "window, w, wi [environment variable LINES]" -Set the window size for the screen. -.TP -.B "windowname [off]" -Change the icon/window name to the current file name even if it can't -be restored on editor exit. -.TP -.B "wraplen, wl [0]" -.I \&Vi -only. -Break lines automatically, the specified number of columns from the -left-hand margin. -If both the -.B wraplen -and -.B wrapmargin -edit options are set, the -.B wrapmargin -value is used. -.TP -.B "wrapmargin, wm [0]" -.I \&Vi -only. -Break lines automatically, the specified number of columns from the -right-hand margin. -If both the -.B wraplen -and -.B wrapmargin -edit options are set, the -.B wrapmargin -value is used. -.TP -.B "wrapscan, ws [on]" -Set searches to wrap around the end or beginning of the file. -.TP -.B "writeany, wa [off]" -Turn off file-overwriting checks. -.SH ENVIRONMENTAL VARIABLES -.TP -.I COLUMNS -The number of columns on the screen. -This value overrides any system or terminal specific values. -If the -.I COLUMNS -environmental variable is not set when -.I ex/vi -runs, or the -.B columns -option is explicitly reset by the user, -.I ex/vi -enters the value into the environment. -.TP -.I EXINIT -A list of -.I \&ex -startup commands, read if the variable -.I NEXINIT -is not set. -.TP -.I HOME -The user's home directory, used as the initial directory path -for the startup ``$\fIHOME\fP/.nexrc'' and ``$\fIHOME\fP/.exrc'' -files. -This value is also used as the default directory for the -.I \&vi -.B \&cd -command. -.TP -.I LINES -The number of rows on the screen. -This value overrides any system or terminal specific values. -If the -.I LINES -environmental variable is not set when -.I ex/vi -runs, or the -.B lines -option is explicitly reset by the user, -.I ex/vi -enters the value into the environment. -.TP -.I NEXINIT -A list of -.I \&ex -startup commands. -.TP -.I SHELL -The user's shell of choice (see also the -.B shell -option). -.TP -.I TERM -The user's terminal type. -The default is the type ``unknown''. -If the -.I TERM -environmental variable is not set when -.I ex/vi -runs, or the -.B term -option is explicitly reset by the user, -.I ex/vi -enters the value into the environment. -.TP -.I TMPDIR -The location used to stored temporary files (see also the -.B directory -edit option). -.SH ASYNCHRONOUS EVENTS -.TP -SIGALRM -.I \&Vi/ex -uses this signal for periodic backups of file modifications and to -display ``busy'' messages when operations are likely to take a long time. -.TP -SIGHUP -.TP -SIGTERM -If the current buffer has changed since it was last written in its -entirety, the editor attempts to save the modified file so it can -be later recovered. -See the -.I \&vi/ex -Reference manual section entitled ``Recovery'' for more information. -.TP -SIGINT -When an interrupt occurs, -the current operation is halted, -and the editor returns to the command level. -If interrupted during text input, -the text already input is resolved into the file as if the text -input had been normally terminated. -.TP -SIGWINCH -The screen is resized. -See the -.I \&vi/ex -Reference manual section entitled ``Sizing the Screen'' for more information. -.TP -SIGCONT -.TP -SIGQUIT -.TP -SIGTSTP -.I \&Vi/ex -ignores these signals. -.SH FILES -.TP -/bin/sh -The default user shell. -.TP -/etc/vi.exrc -System-wide vi startup file. -.TP -/tmp -Temporary file directory. -.TP -/var/tmp/vi.recover -The default recovery file directory. -.TP -$HOME/.nexrc -1st choice for user's home directory startup file. -.TP -$HOME/.exrc -2nd choice for user's home directory startup file. -.TP -\&.nexrc -1st choice for local directory startup file. -.TP -\&.exrc -2nd choice for local directory startup file. -.SH SEE ALSO -.IR ctags (1), -.IR more (3), -.IR curses (3), -.IR dbopen (3) -.sp -The ``Vi Quick Reference'' card. -.sp -``An Introduction to Display Editing with Vi'', found in the -``UNIX User's Manual Supplementary Documents'' -section of both the 4.3BSD and 4.4BSD manual sets. -This document is the closest thing available to an introduction to the -.I \&vi -screen editor. -.sp -``Ex Reference Manual (Version 3.7)'', -found in the -``UNIX User's Manual Supplementary Documents'' -section of both the 4.3BSD and 4.4BSD manual sets. -This document is the final reference for the -.I \&ex -editor, as distributed in most historic 4BSD and System V systems. -.sp -``Edit: A tutorial'', -found in the -``UNIX User's Manual Supplementary Documents'' -section of the 4.3BSD manual set. -This document is an introduction to a simple version of the -.I \&ex -screen editor. -.sp -``Ex/Vi Reference Manual'', -found in the -``UNIX User's Manual Supplementary Documents'' -section of the 4.4BSD manual set. -This document is the final reference for the -.I \&nex/nvi -text editors, as distributed in 4.4BSD and 4.4BSD-Lite. -.PP -.I Roff -source for all of these documents is distributed with -.I nex/nvi -in the -.I nvi/USD.doc -directory of the -.I nex/nvi -source code. -.sp -The files ``autowrite'', ``input'', ``quoting'' and ``structures'' -found in the -.I nvi/docs/internals -directory of the -.I nex/nvi -source code. -.SH HISTORY -The -.I nex/nvi -replacements for the -.I ex/vi -editor first appeared in 4.4BSD. -.SH STANDARDS -.I \&Nex/nvi -is close to IEEE Std1003.2 (``POSIX''). -That document differs from historical -.I ex/vi -practice in several places; there are changes to be made on both sides. -- cgit v1.2.3