From 1f425b12f26856f6debc2f6f3e566f413563e190 Mon Sep 17 00:00:00 2001 From: bostic Date: Wed, 12 Jan 1994 16:22:52 +0000 Subject: [PATCH] Initial revision --- docs/vi.ref/vi.ref | 369 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 369 insertions(+) create mode 100644 docs/vi.ref/vi.ref diff --git a/docs/vi.ref/vi.ref b/docs/vi.ref/vi.ref new file mode 100644 index 00000000..7fa717a5 --- /dev/null +++ b/docs/vi.ref/vi.ref @@ -0,0 +1,369 @@ +.\" Copyright (c) 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" %sccs.include.redist.roff% +.\" +.\" $Id: vi.ref,v 8.1 1994/01/12 16:22:52 bostic Exp $ (Berkeley) $Date: 1994/01/12 16:22:52 $ +.\" +.Dd "%Q%" +.Dt EX/VI 1 +.Os +.Sh Name +.Nm ex, vi, view +.Nd text editors +.Sh SYNOPSIS +.Nm vi +.Op Fl eFlRv +.Op Fl c Ar command +.Op Fl r Ar file +.Op Fl t Ar tag +.Op Fl w Ar size +.Op Fl x Ar aw +.br +.Nm view +.Op Fl eFlRv +.Op Fl c Ar command +.Op Fl r Ar file +.Op Fl t Ar tag +.Op Fl w Ar size +.Op Fl x Ar aw +.br +.Nm ex +.Op Fl eFlRsv +.Op Fl c Ar command +.Op Fl r Ar file +.Op Fl t Ar tag +.Op Fl w Ar size +.Op Fl x Ar aw +.Sh DESCRIPTION +.Nm Ex +is a line-oriented text editor. +.Nm Vi +is a screen oriented text editor, based on +.Nm ex . +.Nm View +is the same as using the +.Fl R +(read-only) option of +.Nm vi . +.Nm Ex +and +.Nm vi +are really different interfaces to the same program, +and it is possible to switch back and forth during the same edit session. +.Pp +This manual page is the one provided with the +.Nm nex +and +.Nm nvi +versions of the vi text editors. +.Nm Nex +and +.Nm nvi +are intended as bug-for-bug compatible replacements for the original +Fourth Berkeley Software Distribution (4BSD) +.Nm ex +and +.Nm vi +programs. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl c +Execute +.Ar command +immediately after starting the edit session. +Useful for initial positioning in the file, but +.Ar command +is not limited to positioning commands. +This is the POSIX 1003.2 interface for the historic +.Dq +command +syntax. +.Nm Nex/nvi +supports both the old and new syntax. +.It Fl e +Start editing in ex mode, as if the command name was +.Nm ex . +.It Fl F +Don't copy the entire file when first starting to edit. +(The default is to make a copy in case someone else tries to edit +the file too.) +.It Fl l +List the files that may be recovered using the +.Fl r +option of +.Nm vi . +This is the new interface for the historic +.Fl r +without a file argument syntax. +.Nm Nex/nvi +supports both the old and new syntax. +.It Fl R +Start editing in read-only mode, as if the command name was +.Nm view . +.It Fl r +Recover the specified file. +.It Fl s +Enter batch mode; applicable only to +.Nm ex +edit sessions. +Batch mode is useful when running +.Nm ex +scripts. +Prompts, informative messages and other user oriented things are +turned off. +This is the POSIX 1003.2 interface for the historic +.Fl \- +syntax. +.Nm Nex/nvi +supports both the old and new syntax. +.It Fl t +Start editing at the specified tag. +(See +.Xr ctags 1 ). +.It Fl w +Set the initial window size to the specified number of lines. +.It Fl v +Start editing in vi mode, as if the command name was +.Nm vi +or +.Nm view . +.It Fl x +Reserved for X11 interfaces. +Not currently implemented. +.Sh ADDITIONAL FEATURES +This manual page is the one distributed with the +.Nm nvi +and +.Nm nex +reimplementations of +.Nm ex/vi . +There are a few additional features in +.Nm nex/nvi . +.Bl -tag -width indent +.It "8-bit clean data, large lines, files" +.Nm Nvi/nex +will edit any format file. +Line lengths are limited by available memory, +and file sizes are limited by available disk space. +The command +.Dq ^Vx[0-9A-Fa-f]* , +in input mode, will insert any +legal character value into the text. +.It "Split screens" +The command +.Dq :sp[lit] [file ...] +splits the screen in vi mode. +The key +.Dq ^W +switches between the foreground screens, +and the +.Dq :resize count +command can be used to grow or shrink any +particular screen. +.It "Background and foreground screens" +The command +.Dq :bg +backgrounds the current screen, +and the command +.Dq :fg [file] +foregrounds the backgrounded screeen +that is editing the specified file, or, by default, the first background +screen on the queue. +The command +.Dq :di[splay] s[creens] +lists the background screens. +.It "Shell screens" +The command +.Dq :sc[ript] [file ...] +runs a shell in the screen. +Editing is unchanged, with the exception that a +enters the current line (stripped of any prompt) as input to the +shell. +.It "Tag stacks" +Tags are now maintained in a stack. +The command +.Dq ^T +returns to the previous tag location. +The command +.Dq :tagpop [number \| file] +returns to the most recent tag +location by default, or, optionally to a specific tag number in the +tag stack, or the most recent tag from the specified file. +Use the command +.Dq :di[splay] t[ags] +to view the tags stack. +The command +.Dq :tagtop +returns to the top of the tag stack. +.It "New displays" +The command +.Dq :di[splay] b[uffers] \| s[creens] \| t[ags] +can be +used to display, respectively, the current cut buffers, +the backgrounded screens, and the tags stack. +.It "Infinite undo" +The changes made during an edit session may be rolled backward and +forward. +A '.' command immediately after a 'u' command continues either forward +or backward depending on whether the 'u' command was an undo or a redo. +.It "Usage information" +The command +.Dq :exu[sage [cmd] +and +.Dq viu[sage] [key] +provide usage +information for all of the ex and vi commands by default, or, optionally, +for a specific command or key. +.It "Extended regular expressions" +The +.Dq :set extended +command treats search and other command regular +expressions as extended (egrep(1) style) regular expressions. +.It "Word search" +The command +.Dq ^A +searches for the word referenced by the cursor. +.It "Number increment" +The command +.Dq # +increments the number referenced by the cursor. +.It "Previous file" +The command +.Dq :prev[ious][!] +edits the previous file from the +argument list. +.It "Left-Right scrolling" +The command +.Dq :set leftright +makes +.Nm nvi +do left-right screen scrolling, instead of the traditional +.Nm vi +line wrapping. +.Sh RECOVERY +There is no recovery program for nvi, nor does it run setuid. +Users may recover any file which they may read, and the superuser +may recover any edit session. +.Pp +Edit sessions are backed by files in +.Pa /var/tmp/vi.recover , +and are named +.Dq vi.XXXX , +where +.Dq XXXX +is a number related to the process id. +When a file is first modified, a second file, which contains an +email message for the user, is created, and is named +.Dq recover.XXXX , +where, again, +.Dq XXXX +is associated with the process id. +Both files are removed at the end of a normal edit session, +but will remain if the edit session is abnormally terminated +or the user enters the ex/vi +.Dq preserve +command. +The use of the +.Pa /var/tmp +directory may be changed setting the option +.Dq recdir +in the user's or system startup information. +.Pp +The recovery directory should have the +.Dq sticky-bit +set so that only the owners of files may remove them. +If this is not possible on the system, then a pseudo-user should +own the recovery directory. +The recovery directory must be both read and write-able by +any user. +.Pp +The recovery file has all of the necessary information in it to enable the +user to recover the edit session. +In addition, it has all of the necessary email headers for sendmail. +When the system is rebooted, all of the files in +.Pa /var/tmp/vi.recover +named +.Dq recover.XXXX +should be sent by email, +using the +.Fl t +flag of sendmail (or a similar mechanism in other mailers). +A simple way to do this is to insert the following script into your +rc.local file: +.sp +.ne 7v +.Bd -literal -offset indent -compact +# Recover nvi editor files. +virecovery=/var/tmp/vi.recover/recover.* +if [ $virecovery != /var/tmp/vi.recover/recover.\e* ]; then + echo 'Recovering vi editor sessions' + for i in $virecovery; do + sendmail -t < $i + done +.Ed +.Pp +If +.Nm nex/nvi +receives a hangup (SIGHUP) signal, it will email the recovery +information to the user itself. +.Pp +If you don't have the sendmail program on your system, the source file +.Pa nvi/recover.c +will have to be modified to use your mail delivery programs. +.Sh BUGS +This man page is woefully incomplete. +.Pp +Many and varied. +See the file +.Pa nvi/docs/BUGS +for a list of the known bugs in this version. +.Sh FILES +.Bl -tag -width XXXX/var/tmp/vi.recover -compact +.It Pa /tmp +Storage for temporary files. +.It Pa /var/tmp/vi.recover +Storage for recovery files. +.El +.Sh SEE ALSO +.Xr ctags 1 , +.Xr more 1 , +.Xr curses 3 , +.Xr dbopen 3 +.sp +The +.Dq Vi Quick Reference +card. +.sp +.Dq An Introduction to Display Editing with Vi , +found in the +.Dq UNIX User's Manual Supplementary Documents . +.sp +.Dq Edit: A tutorial , +found in the +.Dq UNIX User's Manual Supplementary Documents . +.sp +.Dq Ex Reference Manual (Version 3.7) , +found in the +.Dq UNIX User's Manual Supplementary Documents . +.sp +The files +.Dq autowrite , +.Dq input , +and +.Dq quoting , +found in the +.Pa nvi/docs +directory of the +.Nm nex/nvi +source code. +.Sh HISTORY +The +.Nm nex/nvi +replacements for +.Nm ex/vi +first appeared in 4.4BSD. +.Sh STANDARDS +.Nm Nex/nvi +is fairly close to IEEE Std1003.2 (``POSIX''), but it's +not there yet. -- 2.11.4.GIT