.TH vsh "" "" Command
.PC "Interactive graphical shell"
\fBvsh [\-d\fIdirectory\^\fB] [\-eirt]\fR
.PP
.HS
Options:
.IC \fB\-d\fIdirectory\fR
Begin work \fIdirectory\fR rather than in the directory from
which you exited \fBvsh\fR;
if no \fIdirectory\fR named, begin work in the current directory
.IC \fB\-e\fR
Do not use VT-100 graphics-character set
.IC \fB\-i\fR
Restrict the use of the \fBInstall\fR menu
.IC \fB\-r\fR
Restrict user's ability to customize \fBvsh\fR or access a shell
.IC \fB\-t\fR
Use full VT-100 graphics mapping
.HE
.II shell^visual
.B vsh
is the \*(CO system's visual shell.
With it, users can use arrow keys or simple keystrokes to perform
tasks under the \*(CO, such as change directories, edit files,
and execute programs.
Each user can program a bank of up to nine function keys to perform complex
tasks with a single keystroke.
With
.BR vsh ,
a naive user can access much of the power of the \*(CO system without
having to learn the details of
.B sh
or
.BR ksh .
.PP
Unlike X or other windowing systems,
.B vsh
works on a character-based terminal and requires only a modest amount
of memory.
It does not require a mouse.
.SH "Graphics Interface"
.B vsh
uses the \fBcurses\fR library and \fBterminfo\fR descriptions.
To use
.BR vsh ,
you must have a
.B terminfo
description installed for the device upon which you wish to run it, and you
must set the environmental variable
.B TERM
to point correctly to that description.
For example, to run
.B vsh
from your console, you should set
.B TERM
to
.BR ansipc ;
while to run it from a PC that is plugged into a serial port, you should set
.B TERM
to
.BR vt100 .
You must have a
.B terminfo
description for the device to which you set
.BR TERM ,
or
.B vsh
will behave bizarrely.
For more information on devices and how to set them, see the Lexicon entries for
.B TERM
and
.BR terminfo .
For more information on terminals in general, see the entries for
.B terminal
and
.BR console .
.PP
To ensure that
.B TERM
set correctly, you may wish to embed the command
.B ttytype
in the file
.BR /etc/profile .
For more details, see the Lexicon entry for
.BR ttytype .
.PP
If you have a non-standard terminal or have trouble displaying
.BR vsh ,
try invoking it with the options \fB\-e\fR or \fB\-t\fR.
All of
.BR vsh 's
command-line options are described below.
.SH "Main Screen"
When you invoke
.BR vsh ,
you see a screen that appears as follows:
.ie p .PH 1 1 \\*(XD/vsh.eps
.el \{\
.DM
-------------------------------------------------------------------------------|
| File     Dir      Options  Install  Command  Refresh  Exit     Help          |
|------------------------------------------------------------------------------|
|/v                                   |>|                                      |
|------------------------------------------------------------------------------|
| [..]                     12:49  2-04-94 rwxr-xr-x ^ System:  lepanto         |
| [PostScript]             12:15 12-02-93 rwxrwxrwx # Line:    ttyp1           |
| [backup]                  9:39 10-05-93 rwxr-xr-x + Login:   fred            |
| [font]                   12:41 10-19-93 rwxr-xr-x + UID:     fred (10)       |
| [fwb]                    13:51  2-09-94 rwxr-xr-x + GID:     user (5)        |
| [gif]                     9:23  2-05-94 rwxrwxrwx + Date:    2-9-94          |
| [lost+found]             15:00 11-15-93 rwxrwxrwx + Time:    22:08           |
| [sounds]                 16:04  1-05-94 rwxr-xr-x + -------------------------|
| OLD.gtz            95868  9:30  1-29-94 rw-r--r-- + Files:               10  |
| mount.all            372 10:02  1-29-94 rwxr-xr-x + File size:        96240  |
|                                                   + Files tagged:         0  |
|                                                   + File size ta.:        0  |
|                                                   + File size ta.:        0  |
|                                                   + Dir. Stack:           0  |
|                                                   + Mail:              None  |
|                                                   + /usr/spool/mail/fred     |
|                                                   + you can get messages     |
|                                                   +                          |
|                                                   v                          |
|------------------------------------------------------------------------------|
1______  2______  3______  4______  5______  6______  7______  8______  9______
.DE
\}
.PP
As you can see, the screen is divided the following six sections, or
.IR windows :
.IP \(bu 0.3i
The first window, the
.I Command
Window, is the narrow window that runs across the top of the
screen.
This window lists the commands that
.B vsh
can perform.
You will enter this window frequently as you work with
.BR vsh .
.IP \(bu
The second window, the
.I "Current Directory"
window, names the directory that you are currently in.
.IP \(bu
The third window, the
.I "Destination Directory"
window, names the default destination directory.
.IP \(bu
The fourth window, the
.I File
Window, extends down the left side of the screen.
It lists the contents of the current directory.
You will also work frequently in this window.
.IP \(bu
The fifth window, the
.I System
Window, is the upper window on the right side of the screen.
It gives information about the system, that is, who is running
.BR vsh ,
the device she is running it on, and the current date and time.
Your cursor never enters this window.
.IP \(bu
The last window, the
.I Status
Window, gives information about the work you have performed under
.BR vsh .
Again, your cursor will never enter this window.
.PP
Across the bottom of the screen are nine ``stubs,'' one each for function keys
one through nine.
The stub's text indicates the command that
.B vsh
executes when you press that key.
.PP
The following sections discuss each window in detail.
.SH "File Window"
The file window lists all of the files and directories within the current
directory.
This is the default window for
.BR vsh ;
the cursor ordinarily rests in this window, and you will do most of your
work in it.
.PP
The leftmost column in the File Window gives the name of each file and
directory.
Directories are given at the top of the list; they are enclosed within
brackets `[ ]'.
The other columns give, respectively the time the file or directory was last
updated; the date it was last updated; and its permissions.
For information on how to interpret the permissions string, see the
Lexicon entry for the command
.BR ls .
.PP
The top listing in the File Window is always
.BR [..] ,
which represents the current directory's parent directory.
.PP
The top listing in this list is highlighted by being shown in reverse video.
To move the highlighting bar up and down the list, use the arrow keys.
If you press the arrow keys on your keyboard's number pad, be sure to turn the
.B <NumLock>
key \fIoff\fR, or the keys will not work as you expect.
If you press the \*(DA key, the bar shifts down one row on the list.
Pressing the \*(UA key moves the bar up one row.
.PP
You can page up or page down by pressing, respectively, the keys
.B <PgUp>
and
.BR <PgDn> .
The key
.B <Home>
moves the cursor to the top of the list, and
.B <End>
moves it to the bottom.
If your terminal does not implement these keys, you can use the following
control characters:
.DS
	\fB<ctrl-N>\fR	Next page (like \fB<PgDn>\fR)
	\fB<ctrl-P>\fR	Previous page (like \fB<PgUp>\fR)
	\fB<ctrl-A>\fR	Beginning (top) of list (like \fB<Home>\fR)
	\fB<ctrl-E>\fR	End (bottom) of list (like \fB<End>\fR)
.DE
.PP
Note that if the list of files and directories is too large to fit into the
window, moving the bar to the bottom of the window and pressing \*(DA will
scroll the list.
If you press the
.B <End>
key, the row moves to the last row in the list; and if you press
.BR <Home> ,
it moves to the top of the list.
.PP
A scroll bar runs down the right side of the File Window.
As you scroll up and down this window, the scroll bar moves.
Note that the position of the scroll bar is proportional to the
highlighting bar's
position in relation to the entire list of files, not just to its current
position within the File Window.
This gives you an easy way to see just where you are in the entire file list.
.PP
If you position the highlighting bar over the name of a directory and press
\*(RT,
.B vsh
names that directory in the Current Directory Window
and displays its contents in the File Window.
For example, if you position the highlighting bar over the entry for directory
.B [letters]
and press
\*(RT,
.B vsh
displays the contents of directory
.B letters
in the File Window.
(If you are familiar with the Bourne or Korn shell, this has the
same effect as typing the command \fBcd letters\fR.)
To return to the directory you had just been displaying (that is, the parent
directory of \fBletters\fR),
use the arrow keys to move the highlighting bar to the entry
.BR [..] ;
then press
\*(RT.
.B vsh
changes the contents of the Current Directory Window, and
in the File Window erases the contents of
.B letters
and displays the contents of its parent directory.
.PP
If you press
\*(RT
while a file is highlighted instead of a directory,
.B vsh
does the following:
.IP \fB1.\fR 0.3i
If the file is executable,
.B vsh
executes it.
.IP \fB2.\fR
If the file matches a pattern from the file-action list,
.B vsh
executes the action from the list with the file as input.
The file-action list is in file
.BR $HOME/.vsh ;
it looks like:
.DM
	[Mm]akefile:make
	*.mk:make -f %F
	*.sh:sh %F
	*.c:cc -c -O %F
	*.sc:sc %F
	*.a:ar tv %F | more
	*.[1-9]:nroff -man %F | more
	*.tar.F:fcat %F | tar xvf -
	*.F:fcat %F | more
	*.tar.Z:zcat %F | tar xvf -
	*.Z:zcat %F | more
.DE
.IP
.B vsh
recognizes most common wildcard characters;
for a table of these and their meaning, see the Lexicon entries for
.BR wildcards .
The token
.B %F
stands for the file that is currently highlighted.
For example, in the above example the entry
.B "*.Z:zcat %F"
means that if you select a file with the suffix \fB.Z\fR (which usually
means that a file has been compressed), it passes that file to
.B zcat
to uncompress and display it.
.B vsh
defines many defaults for you when it creates this file, which you can use
as a model.
To change the file-action list, use the
.B "File actions"
sub-command of the
.B Install
command, which is described below.
.IP \fB3.\fR
If the file appears to be ASCII
.B vsh
displays it with the default viewer.
.PP
While
.B vsh
is working, it displays a large letter `X' in reverse video
in the lower right corner of the screen.
This shows that
.B vsh
is doing some internal task.
.B vsh
cannot accept any commands while the `X' is displayed, so please be patient.
.PP
Also, note that
.B vsh
cannot handle more than 1,000 files in any given directory.
If a directory contains more than 1,000 files, only the first thousand
will be available for use.
.SH "System Window"
The system window is the upper of the two windows on the right side of the
screen.
The cursor never enters this window; rather, this window simply
displays information about your \*(CO system, and how you are currently
using it.
It contains the following entries:
.IP \fBSystem:\fR
This gives the name of your system, as you (or your \*(CO
system administrator) has set it in file
.BR /etc/uucpname .
See the Lexicon's entry for
.B uucpname
for more details on proper naming conventions for \*(CO systems.
.IP \fBLine:\fR
This gives the device by which you are accessing your \*(CO system.
If you are working on your system's console device, then you should see
.B console
on this line; whereas if you are accessing your \*(CO via a PC plugged
into serial port
.BR com1l ,
you should see
.B com1l
here.
If you are using virtual consoles, the line is shown as
.B mono[0-8]
or
.BR color[0-8] .
See the Lexicon entries for \fBconsole\fR and \fBasy\fR for more information
about the devices through which you can access a \*(CO system.
.IP \fBLogin:\fR
This gives the name under which you logged into \*(CO.
For example, if your login identifier is
.BR fred ,
then you should see
.B fred
on this line.
.IP \fBUID:\fR
This shows your user-identification number (or UID).
This is the unique number by which your \*(CO system knows you,
as set in file
.BR /etc/passwd .
For information on the UID and how to set it,
see the Lexicon entries for
.B passwd
and
.BR setuid .
.IP \fBGID:\fR
This gives the number and name of the user group to which you belong.
Users on a \*(CO system can be organized into groups; permissions on
files can be set to include the members of your group, but exclude all
others.
For information on groups, see the Lexicon entries for
.B group
and
.BR setgid .
.IP \fBDate:\fR
This gives today's date (or rather, what your \*(CO system thinks today's
date is).
.IP \fBTime:\fR
This gives what your system thinks the current time is.
If your system's time is not set correctly, then the time shown here will
not be correct.
For information on how to set the system time,
see the Lexicon entries for the commands
.B ATclock
and
.BR date .
.IP
The time can also vary depending upon what time zone your \*(CO system
thinks it's located in.
For information on timezones and how to set them correctly, see the Lexicon
entry for
.BR TIMEZONE .
.SH "Command Window"
The Command Window is the top window, and stretches across the
width of the screen.
This window gives you access to
.BR vsh 's
commands.
Some commands in the command window actually open an entire menu of commands,
with which you can perform all manner of work.
.PP
The command window contains the following entries.
For convenience, the following
displays the entries vertically;
the actual window displays them horizontally:
.DS
	\fBF\fRile
	\fBD\fRirectory
	\fBO\fRptions
	\fBI\fRnstall
	\fBC\fRommand
	\fBR\fRefresh
	\fBE\fRxit
	\fBH\fRelp
.DE
.PP
When the cursor is in the File Window (which is the default) and you
wish to execute one of the commands in the Command Window,
press its initial letter.
For example, to execute the
.B Refresh
command, press
.BR R .
.PP
Note that the commands on this window are in two groups.
A command's behavior differs, depending upon which group it belongs to.
.PP
The commands
.BR File ,
.BR Directory ,
.BR Options ,
and
.B Install
display a drop-down menu when you invoke it.
That is because they have more than one option available under it.
If you do not wish to invoke any of the sub-commands on that menu, you can
do either of the following:
You can press the
.B <Esc>
key, which erases the drop down-menu and returns you to the File Window; or
you can press the \*(LA or \*(RA keys, which move you to the
command in this group that lies, respectively, to the left or to the right of
the current command.
For example, suppose that you were in the File Window, and you pressed
.BR F ,
to invoke the
.B File
command.
.B vsh
would move the cursor into the Command Window, and display the File Command's
drop-down window, which displays its sub-commands.
If you then pressed the
.B <Esc>
key,
.B vsh
would return you to the File Window.
If you pressed the \*(RA key,
.B vsh
would erase the
.B File
command's drop-down window and display, instead, the drop-down window for the
.B Directory
command.
If, however, you pressed the \*(LA key,
.B vsh
would erase the
.B File
command's drop-down window and display, instead, the drop-down window for the
.B Help
command.
As you can see,
.B vsh
``wraps-around'' the cursor \(em it considers the command at the far right
to be to the left of the command to the far left, and vice versa.
.\" Got that?
This concept is a little difficult to grasp when you read about it, but
once you try it, it will quickly become clear.
.PP 
Please note that
.B vsh
delays for one second its reaction to the
.B <esc>
key.
The
.B curses
function
.BR wgetch() ,
which is used to read the keyboard, needs this delay so it can
distinguish between the
.B <esc>
key and the other function keys, which all of which start with an
.BR <esc> .
So, please be patient.
.PP
The other group of commands are the commands
.BR Command ,
.BR Refresh ,
.BR Exit ,
and
.B Help
each have only option, so when you invoke one of them,
it immediately begins to execute that option.
When you access one of these commands through the \*(RA and \*(LA keys,
each displays a drop-down menu that shows its one option.
.PP
The following describes each command in detail.
.IP \fBFile\fR
Pressing
.B F
invokes the
.B File
command.
This displays a drop-down menu that lists a set of sub-commands.
These sub-commands let you manipulate files;
with them, you can edit a file, create a file, change its permissions,
rename it, erase it, print it, or do other common tasks.
.IP
To invoke a sub-command, you can do either of the following:
Press the letter in the sub-command that is underlined (each sub-command
has its own unique letter with which you can invoke it); or use the
\*(UA and \*(DA keys to move the highlighting bar to that command, and then
press
\*(RT.
.IP
The following discusses each sub-command in detail:
.RS
.IP "\fBCopy\fR"
This sub-command copies a file.
Please note that the behavior of this subcommand depend upon whether you
have tagged files.
.IP
If you have tagged one or more files,
.B vsh
opens a pop-up window that requests the path name of a directory.
By default,
.B vsh
displays the destination directory, if you have set one.
When you enter the path name,
.B vsh
copies every tagged file into that directory.
.IP
If you have not tagged any files,
.B vsh
opens a pop-up window that requests that you enter a file name or a path name.
Again, if you have set a destination directory, the window displays it by
default.
If you enter only a file name into this window,
.B vsh
copies the highlighted file into the newly named file in the current directory;
if you have named an existing file,
.B vsh
prompts you before it overwrites that file.
If you enter a path name,
.B vsh
copies the highlighted file into the directory you have named; the copied
file retains its current name.
If, however, you enter both a file name and a path name, then
.B vsh
copies the highlighted file into the directory you named, and gives it the
file name that you entered.
.IP
Note that this command will not overwrite a file that you do not own; nor will
it create a new file in a directory in which you do not have write permission,
or copy a file on which you do not have read permission.
For more information on copying files under \*(CO, see the Lexicon entry
for the command
.BR cp .
.IP "\fBMove\fR"
This sub-command prompts you for the name of a directory; if you have set
a destination directory,
.B vsh
displays it by default.
When you confirm the destination,
.B vsh
then moves all tagged files into it.
(If no files are tagged,
.B vsh
moves only the highlighted file.
For more information on tagging, see the entry for the sub-command
.BR Tag ,
below.)
The files retain their names in the new directory.
.IP
This command does not move a file for which you do not have read
permission, or move a file into a directory into which you do not have
write permission; nor will it move a file into a non-existent directory (of
course).
For details on moving files, see the Lexicon entry for the command
.BR mv .
.IP "\fBDelete\fR"
This sub-command deletes the tagged files.
(If no files are tagged, then it deletes only the highlighted file.
For more information on tagging, see the entry for the sub-command
.BR Tag ,
below.)
It will prompt you to confirm that you really do want to delete the
file or files in question.
With regard to the mass deletion of tagged files, this sub-command
lets you choose whether to do a mass deletion or delete files one at a time.
.IP
Note that this sub-command will not delete a file that you do not own.
For details on deleting files, see the Lexicon entry for the command
.BR rm .
.IP "\fBRename\fR"
This sub-command lets you rename the highlighted file.
It opens a pop-up window that shows the current name of the file, and
prompts you to type the new name.
Press
.B <Esc>
to abort this sub-command, or type the new name and press
\*(RT.
.IP
It does not work with directories.
It will not let you rename a file that you do not own.
For details on renaming a file, see the Lexicon entry for the command
.BR mv .
.IP "\fBExecute\fR"
This sub-command executes the highlighted file.
.B vsh
prompts you to type the arguments you wish to pass this file, then invokes
the file with those arguments.
.IP
Note that
.B vsh
will not execute a file for which you do not have execute permission.
.IP "\fBAccess\fR"
This sub-command
lets you change the manner in which every tagged file can be accessed.
(If no files are tagged, the default is the highlighted file.)
When you invoke it,
.B vsh
displays the following pop-up window for each tagged file:
.B1
	Change access f file \fIfilename\fP
.sp \n(pDu
	Owner
	Read [x]       Write[x]        Execute[ ]
.sp \n(pDu
	Group
	Read [x]       Write[ ]        Execute[ ]
.sp \n(pDu
	World
	Read [x]       Write[ ]        Execute[ ]
.sp \n(pDu
	Special
	Set UID [ ]    Set GID [ ]     Set sticky[ ]
.sp \n(pDu
.B2
.IP
An `x' in a field means that that permission is turned on; a blank means
that it is turned off.
Use the arrow keys to move to the cursor
the field whose status you wish to change, then enter a space or `x' to,
respectively, turn off or turn on that given permission.
To abort this command, press
.BR <Esc> .
.IP
For information what permission fields mean, see the Lexicon entry for
.BR ls .
Note that you can reset permissions only on the files you own.
.IP "\fBOwner\fR"
This lets you change the owner and group that owns each tagged file.
If no files are tagged, then this applies only to the highlighted file.
When you invoke this sub-command,
.B vsh
opens a pop-up window that shows the user and group that own a file:
type the name of the user or group
you want to own the file.
.B vsh
repeats this step for each tagged file.
To abort this command, press
.BR <Esc> .
.IP
For details on changing ownership of a file, see the Lexicon entries for
the command
.B chown
and
.BR chgrp .
Note that only the superuser
.B root
can run this command.
.IP "\fBPrint\fR"
This passes every tagged file to the print spooler for printing.
To change the default print spooler, use the
.B Install
command's
.B "Print spooler"
sub-command.
.IP
Note that
.B vsh
simply passes the file to the spooler for printing; you cannot use
this to process a file before printing it.
If you try to use this feature of
.B vsh
to print a file on a PostScript printer, the printer will hang.
We suggest that you use the
.B Command
feature to print a file on a specialized printer;
it's a little more difficult, but it works.
Another approach is to use the spooler
.B lp
and prepare a special backend script to do the processing automatically.
For details on how to do that, see the Lexicon entries for
.B lp
and
.BR printer .
.IP "\fBView\fR"
This sub-command invokes the default viewer to display the contents of
every tagged file.
If you try to view the contents of a binary file, the results may
not be what you expect.
.IP
Note that
.B vsh
will not display a file for which you do not have read permission.
To change the default viewer, use the
.B Install
command's
.B "File viewer"
sub-command.
.IP "\fBEdit\fR"
This sub-command invokes the text editor to edit every tagged file.
If no files are tagged, then edit only the highlighted file.
.IP
The default text editor is
.BR vi ,
which can create problems for persons who do not know how to exit from
that editor.
For a quick brush-up on
.BR vi ,
see the Lexicon entry for
.BR elvis .
To change the default text editor, use the
.B Install
command's
.B Editor
sub-command.
Note that \*(CO
will not let you edit a file for which you do not have read permission.
.IP "\fBEdit new\fR"
This sub-command prompts you to type the name of a file, then invokes the
editor for that file.
This can be a new file (that is, one that does not yet exist in the
current directory), or a file that already exists.
.IP
Note that if you do try to edit a binary file, you may find yourself
running into difficulties.
.IP "\fBTouch\fR"
This ``touches'' every tagged file \(em that is, it changes the date and
time that the file was last modified, just the same as if you had just
edited it.
.IP
Note that you cannot touch a file for which you do not have write permission.
For more information on touching files, see the Lexicon entry for the
command
.BR touch .
.IP "\fBTag all\fR"
This sub-command ``tags'' every file in the current directory.
This lets you do mass moves or deletions of files.
When you tag a file,
.B vsh
updates the entries
.B "Files tagged"
and
.B "File size ta."
in the Status Window, to reflect the number and total size of the
files you have just tagged.
It also prints an asterisk next to the tagged file.
.IP
When the cursor is in the File Window, you can toggle tagging on the
highlighted file by pressing the space bar.
Note that the highlighted file is implicitly tagged, whether an as asterisk
appears next to it or not.
For details, see the section on the Status Window, below.
.IP "\fBUntag all\fR"
This sub-command untags all files that are tagged in the current directory.
As noted above, you can toggle the tagging of the highlighted file
by pressing the space bar.
This command updates the Status Window to reflect your changes.
.IP "\fBSelect\fR"
This sub-command opens a pop-up window and lets you enter a regular
expression;
it then tags all files that match the expression.
For example, if you enter
.BR *.c ,
then this sub-command tags all files that end in the string \fB.c\fR.
.IP "\fBFile type\fR"
This sub-command prints a summary of information about the type of the
highlighted file.
.IP "\fBFile info\fR"
This sub-command opens a pop-up window that displays the following
information about the highlighted file or directory:
.DM
	Filename
	Filetype
	I-Node
	Links
	Owner UID
	Owner GID
	access
	modification
	status changed
.DE
.IP
.I Filename
is the name of the file.
.I Filetype
is its type, e.g., directory or regular file.
.I I-Node
gives the number of this file's i-node; for information on what an i-node is,
see its entry in the Lexicon.
.I Links
gives the number of links to the file.
For information on what a link is, see the Lexicon entries for
.B ln
and
.BR link() .
.I "Owner UID"
and
.I "Owner GID"
identify the owner and group that own this file.
For information on what the UID and GID are, see the Lexicon entries for
.B setuid
and
.BR setgid .
.IR access ,
.IR modification ,
and
.I "status changed"
give, respectively, the date and time the file was last accessed, last
modified, or last had its status changed.
.RE
.IP \fBDirectory\fR
Pressing
.B D
invokes the
.B Directory
command.
This displays a drop-down menu that lists a set of sub-commands.
These sub-commands let you manipulate directories;
with them, you can create a directory, remove a directory, change
permissions, and other common tasks.
You can also manipulate a ``directory stack,'' which lets you jump quickly
from one directory to another without having to retype its name.
.IP
The following discusses each sub-command in detail:
.RS
.IP "\fBChange\fR"
This lets you change the current directory.
When you invoke this subcommand,
.B vsh
displays the following pop-up window:
.B1
.sp \n(pDu
	Enter destination path
.sp \n(pDu
.B2
.IP
Type the full path name of the directory you wish to enter.
If this directory does not exist, or if you cannot access it,
.B vsh
leaves you in the current directory; otherwise, it moves you to the
requested directory.
.IP "\fBHome\fR"
This moves you to your home directory.
.IP "\fBUser\'s Home\fR"
This moves you to the home directory of another user.
When you invoke this sub-command,
.B vsh
asks you to name the user whose home directory you wish to enter.
To abort, press
.BR <Esc> .
If the user you enter does not exist or if you do not have permission
to read her home directory,
.B vsh
leaves you in the current directory; otherwise,
.B vsh
moves you into that user's home directory.
.IP "\fBSet dest\fR"
Set the destination directory.
This directory is saved in your \fB.vsh\fR file, and is restored the
next time you invoke
.BR vsh .
.IP "\fBPush\fR"
The next three sub-commands makes it easy for you to maneuver your way
around the \*(CO file system.
The work by using what is called a ``directory stack''.
In effect, you can tell
.B vsh
to remember the directory you are in (this is termed ``pushing'' the
directory onto the stack); then, when you have switched to another
directory, you can returned to this directory simply by ``popping'' this
pushed directory from the directory stack.
This lets you move around among directories without having to retype them
continually.
.IP
The
.B Push
sub-command pushes the current directory onto the directory stack.
When you push a directory,
.B vsh
increments the number next to the entry
.B "Dir. Stack"
in the Status Window.
This tells you how many directories you have pushed onto the directory stack.
.IP "\fBPop & cd\fR"
This sub-command moves you to the last directory you pushed onto the
directory stack.
It also removes that directory from directory stack.
When you pop a directory from the directory stack,
.B vsh
decrements the number next to the entry
.B "Dir. Stack"
in the Status Window.
This tells you how many directories remain on the directory stack.
.IP
Note that directories are popped in the order opposite from that in which they
were entered.
For example, if you pushed directory
.B /usr/bin/sys
onto the directory stack, then directory
.BR /usr/lib/mail ,
then
.BR /bin ,
invoking the
.B Pop
sub-command will return you to directory
.BR /bin ,
then to
.BR /usr/lib/mail ,
and finally to directory
.BR /usr/include/sys .
.IP "\fBSwitch\fR"
This command switches the current directory and the top
entry in the directory stack.
.IP "\fBCopy\fR"
This copies the highlighted directory plus all of its contents into another
directory whose name you type into a pop-up window.
It behaves much like the command
.BR cpdir .
.IP "\fBDelete\fR"
This deletes the highlighted directory.
It does not work with files.
If the directory has files in it,
.B vsh
will prompt you and ask if you want the directory to vanish.
If you answer `Y', then
.B vsh
removes it, files and all \(em just as if you had executed the command
\fBrm -rf\fR.
.IP
.B vsh
will not delete a directory that you do not own.
.IP "\fBRename\fR"
This sub-command renames the highlighted directory.
.B vsh
opens a pop-up window and prompts you to type the new name of the
directory.
Press
.B <Esc>
to abort this sub-command.
Note that you can rename only directories that you own.
This sub-command does not work with files.
.IP "\fBCreate\fR"
This sub-command creates a new directory in the current directory.
.B vsh
prompts you for the name of the new directory, and then creates it.
Note that you can create a directory only if you have write permission
in the current directory.
.IP "\fBAccess\fR"
This lets you reset the access permission on the highlighted directory.
This is the directory equivalent of the \fBFile\fR command's
\fB Access\fR sub-command.
.IP "\fBOwner\fR"
This lets you reset the user and group that own a given directory.
This is the directory equivalent of the \fBFile\fR command's \fBOwner\fR
sub-command.
Note that only the superuser
.B root
can run this command.
.IP "\fBRead new\fR"
This tells
.B vsh
to re-read the current directory.
.B vsh
copies the contents of the current directory into memory for its own use;
thus, if other people manipulated the directory and its contents after
.B vsh
read its contents, what you see in the File Window will not reflect
the true state of affairs in that directory.
If you are working with a directory that is being manipulated by one or more
other people, you should issue this command from time to time, to ensure
that you are working with an accurate image of the directory's contents.
.IP "\fBSwitch CWD\fR"
This command switches the current working directory with the destination
directory.
.IP "\fBSwitch TOS\fR"
This switches the destination directory with the directory on top of the
stack.
.IP "\fBInfo\fR"
This is the same as the
.B "File info"
sub-command under the
.B File
command, described above.
.RE
.IP \fBOptions\fR
Pressing
.B O
invokes the
.B Options
command.
Its sub-commands let you perform common system tasks.
The following discusses each sub-command in detail:
.RS
.IP "\fBShell\fR"
This command invokes an interactive shell.
When you exit from the shell (either by typing
.B exit
or
.BR <ctrl-D> ),
you will be returned to
.BR vsh .
.IP
By default,
.B vsh
invokes the Bourne shell
.BR sh ;
to change the default shell, use the
.B Shell
sub-command under the
.B Install
command, which is described below.
.IP "\fBLock terminal\fR"
This command locks your terminal.
When the terminal is locked, no command can entered into it; this lets
you walk away from your terminal briefly without worrying whether anyone
(e.g., your cat) will do anything untoward under your login.
The terminal remains locked until you retype the secret password that
you entered when you invoked this sub-command
.IP
When you invoke this sub-command, a pop-up window appears with the following:
.B1
	Lock Enter Password
.sp \n(pDu
.B2
.IP
.B vsh
prints a `#' to echo each character that you type.
If you wish to abort the
.B Lock
sub-command, press
.BR <Esc> .
When you have finished entering your password, press
\*(RT.
When you have entered the password, the following window appears:
.B1
	This Terminal is locked!
.sp \n(pDu
	Enter Password to unlock
	or hit return to logoff
.sp \n(pDu
.B2
.IP
Type the password to return to
.BR vsh .
If you (or someone else) presses
\*(RT,
you will be logged out of \*(CO.
.IP "\fBMessages\fR"
This sub-command lets you receive or ignore messages.
A message can be sent to your terminal by another user or another process;
for example, the
.B mail
command may send a prompt to your screen when new mail is received.
.IP
When you invoke this sub-command,
.B vsh
displays the following pop-up window:
.B1
.sp \n(pDu
	Do you want to receive messages ?
.sp \n(pDu
	       Yes         No
.sp \n(pDu
.B2
.IP
Use the \*(RA and \*(LA keys to select the option you want, then press
\*(RT.
When you change your message status, the information in the Status Window
changes.
For example, when you turn off messaging, the following appears at the bottom
of the Status Window:
.DM
	You can't get messages
.DE
.IP
For information on how \*(CO sends messages to your terminal, see the
Lexicon entry for
.BR mesg .
Also, see the description of the Status Window, below.
.IP "\fBOnline manual\fR"
This lets you select an entry from the \*(CO system's on-line manual pages.
When you invoke this sub-command,
.B vsh
displays the following pop-up window:
.B1
	Enter topic, chapter is optional :
.sp \n(pDu
	Topic:
.sp \n(pDu
	Chapter:
.sp \n(pDu
.B2
.IP
Type the title of the Lexicon entry that interests you; for example, to see
the Lexicon entry for the command
.BR vsh ,
enter
.B vsh
in the
.B Topic
slot, then type
\*(RT.
Do not enter anything into the
.B Chapter
slot; this does not apply to the \*(CO system.
You will see on your screen the Lexicon entry that you are now reading.
If you change your mind, press
.B <Esc>
to abort this command.
.IP
Note that if you did not install or uncompress the manual pages when you
installed your \*(CO system, this sub-command will not work.
For more information on the \*(CO manual pages, see the Lexicon entries
for the commands
.B help
and
.BR man .
.IP "\fBSystem news\fR"
Display news about your current system.
By default, this invokes the \*(CO command
.BR msgs .
.IP "\fBInternet news\fR"
Invoke a reader for Internet news.
By default, this command invokes
.BR rn ,
should you have it installed.
.IP "\fBElectronic mail\fR"
Invoke your mail reader.
By default, this invokes
.BR mail .
.RE
.IP \fBInstall\fR
Pressing
.B I
invokes the
.B Install
command.
Its sub-commands let you modify some of
.BR vsh 's
default behaviors; in particular, it lets you program your
function keys to execute some tasks you select with one keystroke.
The following discusses each sub-command in detail:
.RS
.IP "\fBDisplay\fR"
This command lets you customize appearance of
.BR vsh .
When you invoke this sub-command,
.B vsh
displays the following pop-up window:
.B1
	Display Attributes
.sp \n(pDu
	Menubar
	Menu color
	Menu attribute
	Dialog box
.sp \n(pDu
.B2
.IP
The entry
.B Menubar
lets you select the display attribute for the menu bar, which can be
one of
.BR bold ,
.BR underline ,
or
.BR reverse .
.IP
The entry
.B "Menu color"
lets you set the menu color, which can be either
.B normal
or
.BR reverse .
(This may vary, depending on the type of terminal you are using.)
.IP
The entry
.B "Menu attribute"
lets you set the display attribute for pulldown menus, which can be one of
.BR bold ,
.BR underline ,
.BR bold ,
or
.BR normal .
.IP
Finally, the entry
.B "Dialog box"
lets you set the display attribute for dialogue boxes, which can be one of
.BR bold ,
.BR underline ,
or
.BR both .
.IP
The best way to see what these commands do is to try them out.
As mentioned above, the behavior may change from device to device, depending
upon the type of terminal that you are using.
.IP "\fBFunction keys\fR"
This lets you ``program'' up to nine function keys, so you can invoke
selected commands easily.
Each user can have her own list of programmed function keys.
.IP
When you invoke this sub-command,
.B vsh
displays the following drop-down menu:
.B1
	Function keys
.sp \n(pDu
	Function key 1
	Function key 2
	   ...
	Function key 9
.sp \n(pDu
.B2
.IP
Press 1 through 9 to program the corresponding function key (or use the \*(UA
and \*(DA keys to move then highlighting bar, then press
\*(RT).
.B vsh
asks you to enter the label for the function key and the command you want
that function key to invoke.
When you have finished, the new label will appear in the corresponding
function-key tag at the bottom of the screen; and when you press that
function key,
.B vsh
executes the corresponding command.
.IP
For example, to make the game
.B chase
one of your function key entries, do the following:
First, press \fBI\fR to invoke the
.B Install
command.
The press \fBk\fR to invoke the \fBFunction keys\fR sub-command.
When the function-keys drop-down menu appears, press \fB2\fR, for
function-key \fBF2\fR.
When the label pop-window appears, type \fBchase\fR into the first slot, which
holds the label
Press
.B <Tab>
to jump to the second slot, which holds the command to execute, then type
.BR /usr/games/chase .
When you have done typing, press
\*(RT.
.IP
As you can see, the \fBF2\fR stub at the bottom of the screen shows
.BR chase ;
and when you press
.BR F2 ,
.B vsh
launches you into
.BR chase .
You can program the first nine function keys to work in the same way.
.IP
You can embed the token
.B %F
as a placeholder for the current file.
For example, to count the number of lines in the current file, put the
following command into a function-key definition:
.DM
	wc -l %F
.DE
.IP
Because some computers still do not have function keys
(e.g., the NeXT machine),
you can also use the number keys to execute commands installed on the
function keys.
.IP
By the way, for information on the highly amusing game
.BR chase ,
see its entry in the Lexicon.
.IP "\fBShell\fR"
This sub-command lets you set the default shell that
.B vsh
runs when you invoke its
.B Shell
command.
When you invoke this sub-command,
.B vsh
displays the following pop-up menu:
.B1
	Enter command to run a shell
	(Coherent default is '/bin/sh')
.sp \n(pDu
		/bin/sh
.sp \n(pDu
.B2
.IP
Type the shell that you want, either
.B /bin/sh
or
.BR /bin/ksh ,
and press
\*(RT.
(You can enter another program if you like, but you may get some strange
results if you do.)
For information on each shell, see its entry in the Lexicon.
.IP "\fBEditor\fR"
This lets you set the editor that
.B vsh
invokes when you select the
.B Edit
sub-command under the
.B File
command.
When you invoke the
.B Editor
sub-command,
.B vsh
displays the following pop-up window:
.B1
	Enter command to run an editor
	(Coherent default is 'vi')
.sp \n(pDu
		vi
.sp \n(pDu
.B2
.IP
Type the editor that you want, one of
.BR ed ,
.BR me ,
or
.BR vi ;
then press
\*(RT.
For information on each editor, see its entry in the Lexicon.
.IP "\fBPrint spooler\fR"
This lets you set the spooler that
.B vsh
invokes when you select the
.B Print
sub-command under the
.B File
command.
When you invoke the
.BR "Print spooler"
sub-command,
.B vsh
displays the following pop-up window:
.B1
	Enter command to run a print-spooler
	(Coherent default is 'lpr -B')
.sp \n(pDu
		lpr -B
.sp \n(pDu
.B2
.IP
Enter the spooler that you want.
For more information on the spooling commands available under \*(CO,
see the Lexicon entry
.BR printer .
.IP
Beginning with release 2.7 of
.BR vsh ,
this feature works with pipes.
.B vsh
understands that the token
.B %F
represents the current file.
For example, if you have a PostScript printer, you will want every file
to be processed by the command
.B prps
before you print it.
Thus, enter the command:
.DM
	prps %F | hpr -B
.DE
.IP
This tells
.B vsh
to filter each file through
.B prps
and pipe the output to the laser-printer spooler
.BR hpr .
.IP
Some of this functionality may not be necessary under \*(CO release 4.2,
which implements the System-V
.B lp
print spooler.
See the Lexicon article
.B printer
for details.
.IP "\fBFile viewer\fR"
This lets you set the viewer that
.B vsh
invokes when you select the
.B View
sub-command under the
.B File
command.
When you invoke the
.B "File viewer"
sub-command,
.B vsh
displays the following pop-up window:
.B1
	Enter command to run a file view utility
	(Coherent default is 'more')
.sp \n(pDu
		more
.sp \n(pDu
.B2
.IP
Enter one of
.B more
or
.BR scat .
For information on how these commands differ, see their entries in the Lexicon.
.IP "\fBFile action\fR"
As noted above,
.B vsh
has a list of default actions that it takes when you select a file of a given
type.
For example, if you invoke the
.B File
command, move the highlighting bar to a file with the suffix
.B .c
and press
\*(RT,
.B vsh
by default invokes the C compiler
.B cc
to compile that file.
.IP
.B vsh
stores in the file
.B $HOME/.vsh
the list of its default actions.
The
.B "File actions"
sub-command invokes a special editor so you can edit this list.
.IP
When you invoke this option,
.B vsh
displays the following pop-up window:
.B1
.sp \n(pDu
	Edit actions list
	Configure action
.sp \n(pDu
.B2
.IP
Use the \*(UA and \*(DA keys to move the highlighting bar to the item you want;
then press
\*(RT.
.IP
When you select 
.BR "Edit actions list" ,
.B vsh
displays a pop-up window that contains all of the default actions.
The syntax of the default actions is described above.
Use the \*(UA and \*(DA keys to move the highlighting bar to the action you
wish to edit.
To erase the current line, press
.BR <ctrl-D> ;
to open a new line, press
.BR \fB<ctrl-I>\fR .
.IP
To modify the line that is currently highlighted, press
\*(RT.
When you do so, the highlighting bar disappears and a cursor appears.
Use the \*(LA and \*(RA keys to move the cursor to the point you wish to
change;
typing inserts new text into the command, whereas pressing
.B <Backspace>
erases text.
When you have finished modifying the current line, press \*(RT.
To abort modifying the current line, press
.BR <Esc> .
.IP
When you have finished modifying the action list, press
.BR <Esc> .
.B vsh
records your changes into file
.BR $HOME/.vsh ,
and returns you to the File window.
.IP
When you select the option
.BR "Configure action" ,
.B vsh
displays a window with the prompt
.DM
	Show file actions before execution ?
.DE
.IP
The cursor is under the response
.BR y ,
for
.BR yes .
If you accept this option,
.B vsh
will prompt you for your confirmation before it performs a default action.
If you want
.B vsh
simply to go ahead and perform its default without asking for your approval,
press the \*(RA key to move the cursor to the option
.BR n ,
for
.BR no ,
and press
\*(RT.
.IP "\fBSys. news reader\fR"
Tell
.B vsh
what system news program you want it to invoke by default.
.IP "\fBInternet news\fR"
Tell
.B vsh
what Internet news reader you want it to invoke by default.
.IP "\fBElectronic mail\fR"
Tell
.B vsh
what mail reader you want it to invoke by default.
.RE
.IP \fBCommand\fR
The command
.B Command
lets you send a command directly to a \*(CO shell.
This lets you invoke commands that ordinarily are not available through
.BR vsh .
.IP
Suppose, for example, that you decided you wanted to play a session of
the game
.BR tetris ,
and that you have not yet programmed
.B tetris
as one of your function keys.
Press
.B C
to invoke
.BR Command .
.B vsh
moves the cursor moves to the bottom of the screen, and erases the
row of boxes that describe the function keys.
You can now type the command you want, in this case
.BR /usr/games/tetris .
To run the command, press
\*(RT;
to abort entering a command and return to
.BR vsh ,
type
.BR <Esc> .
.IP
When you press
\*(RT,
.B vsh
runs the command you typed.
When you have finished playing
.B tetris
and have exited from it,
.B vsh
clears the screen and displays the message:
.DM
	Hit any key to continue ...
.DE
.IP
When you press a key,
.B vsh
redraws itself on your screen and returns the cursor to the File Window.
.IP
(By the way, the \*(CO version of \fBtetris\fR is available as part of
COHware volumes 2 and 3.
For information on obtaining COHware, see the release notes that came with
your copy of \*(CO.)
.IP
.B Command
remembers the last 40 commands that you have issued.
To invoke a command that you previous issued through
.BR Command ,
press the \*(UA key.
The last command you issued will appear in the command slot.
If you continue to press the \*(UA key, others commands appear, in reverse
order from when you issued them.
If you overshoot the command that you want to re-run, press the \*(DA key to
walk back down the list of previously issued commands.
When you find the previously issued command that you wish to rerun, just
press
\*(RT
and
.B vsh
runs it again.
.IP
You can also edit a previously issued command.
The following gives lists the available editing commands:
.DS
.ta 0.5i 1.5i
	\(<-	Move the cursor one character to the left
	\(->	Move the cursor one character to the right
	\fB<del>\fR	Delete the character to the left
	\fB<backspace>\fR	Delete the character to the left
	\fB<ctrl-D>\fR	Delete the character over the cursor
	\fB<ctrl-P>\fR	Go to last character of the command
	\fB<ctrl-N>\fR	Go to first character of the command
.DE
.IP
A command can use environmental variables, such as
.BR $HOME .
.B vsh
will expand all environmental variables correctly before it tries to execute
the command.
.IP
You can also embed the following tokens in a command:
.DS
	\fB%F\fR	Represent the currently highlighted file
	\fB%T\fR	Represent all tagged files
	\fB%D\fR	Represent the destination directory
.DE
.IP
For example, the command
.DM
	cp %T %D
.DE
.IP
copies all tagged files into the destination directory.
.IP \fBRefresh\fR
The command
.B Refresh
redraws the screen.
It does no other work.
This is helpful if your screen has become jumbled or scrambled
for any reason \(em such as a message being written onto your screen
by another user.
.IP
To invoke this command, type
.BR R .
.B vsh
pauses very briefly, then the screen flickers as
.B vsh
redraws.
If the screen had been confused for any reason, invoking this command should
restore to its proper state.
If you need to refresh the screen while a pop-up menu or
a pop-up window is active,
press
.BR <cntl-L> .
.IP \fBExit\fR
The command
.B Exit
exits you from
.BR vsh .
To exit from
.BR vsh ,
press
.BR E .
In response,
.B vsh
pops the following window onto your screen:
.B1
	Do you really want to quit?

	       Yes       No
.sp \n(pDu
.B2
.IP
The window is in reverse video, for emphasis.
The option
.B Yes
is underlined, to show that it is the default choice.
If you really do wish to exit, press
\*(RT;
and
.B vsh
returns to the \*(CO shell.
.IP
If you changed your mind, however, and do not wish to exit, press the \*(RA key
to change the option; this will shift the underlining from option
.B Yes
to option
.BR No .
Pressing enter at this point selects the
.B No
option;
.B vsh
in response removes the pop-up window from the screen and
returns you to the File Window.
.IP
If you change your mind again, though, and really do wish to exit, then
press the \*(LA key.
The underlining shifts back to the
.B Yes
option; and when you press
\*(RT
you exit from
.B vsh
and return to the shell.
.SH "Status Window"
The Status Window is the lower window on the right side of the screen.
The cursor never enters this window; rather, this window gives information
about how
.B vsh
is functioning, and in particular about the files that are currently displayed
in the File Window.
.PP
The Status Window contains the following entries:
.IP \fBFiles\fR
This gives the number of files being shown in File Window.
Note that this is all files that can be scrolled through that window,
.I not
the files that are shown in that window at this moment.
.IP "\fBFile size\fR"
This gives the total size, in bytes, of all files available through in the
File Window.
.IP "\fBFiles tagged\fR"
This gives the number of files that you have tagged.
See the description of the
.B File
command, above, for details.
.IP "\fBFile size ta.\fR"
This gives the total size of all tagged files.
See the description of the
.B File
command, above, for details.
.IP "\fBDir. Stack\fR"
This gives the number of directories that currently reside on the directory
stack.
As noted above, you can ``push'' directories onto the directory stack
or ``pop'' them from it.
By doing so, you have an easy way to jump about from one directory to
another, without having to type directory names repeatedly.
See the above description of the
.B Directory
command for more details.
.IP
You can have a maximum of ten directories on the stack.
.IP \fBMail\fR
This line indicates whether you have mail waiting to be read.
If you don't, this line will say
.DM
	None
.DE
.IP
whereas if you do, the line will say
.DM
	Avail
.DE
.IP
and flash at you.
If new mail arrives,
.B vsh
flashes
.DM
	New
.DE
.IP
in that slot.
.IP \fImailbox\fP
This line gives the name of your mailbox \(em that is, the file that
.B mail
reads.
.IP \fImessages\fR
This indicates whether your terminal can receive messages \(em e.g.,
whether a message will pop up on your screen if someone wishes
to communicate with you via the
.B write
command.
For more information on how to change the message status of your terminal,
see the Lexicon entry for the command
.BR mesg .
.SH "Function Keys"
The bottom of the screen show nine small boxes in reverse video.
These are labelled
.B F1
through
.BR F9 .
If you have defined the key using the
.B "Function Key"
command,
.B vsh
displays the box the tag that you gave that key.
.PP
For example, in our above example we set key
.B F1
to run the command
.BR "ps -a" ,
and gave it the tag
.BR ps .
At the bottom of the screen, the box labelled
.B F1
should show
.BR ps .
.PP
For more details, see the description of the
.B "Function Key"
command, above. 
.SH "Configuration File"
.B vsh
reads the file
.B $HOME/.vsh
to configure itself.
.PP
A typical \fB.vsh\fR file reads as follows:
.DM
	cwd=/v/fwb
	shell=/bin/ksh
	editor=me
	print-spooler=hpr -B
	view=more
	make=make
	me-disp-attr=reverse
	pd-disp-color=normal
	pd-disp-attr=bold
	se-disp-attr=underline
	pfkey1=  mail mail
	pfkey9=tetris /usr/games/tetris
	cmd=
		tetris
		tetris
		echo foo
.DE
.PP
.B cwd
points to the current working directory, that is,
the directory in which you have last worked with
.BR vsh .
.B vsh
returns you to that directory when you next invoke the shell.
.PP
.BR shell ,
.BR editor ,
.BR print-spooler ,
.BR view ,
and
.B make
give, respectively, the shell, editor, print-spooler, viewer, and make utility
that you selected with the
.B Install
command.
If you change one of these values, the behavior of
.B vsh
changes to reflect the change.
For example, if you change the line
.DM
	editor=me
.DE
.PP
to
.DM
	editor=ed
.DE
.PP
then
.B vsh
will invoke
.B ed
the next time you request the
.B File
command'
.B Edit
sub-command.
.PP
.BR me-disp-attr ,
.BR pd-disp-color ,
.BR pd-disp-attr ,
and
.B se-disp-attr
give the display features for, respectively, the menu bar, the menu color,
the menu attribute, and the dialogue box.
.PP
The lines
.B pfkey1
through
.B pfkey9
set the behavior of the function keys.
The first seven characters after the equal sign `=' give the text that
appears in stub at the bottom of the screen.
Everything after the first seven characters describes the command to be
executed when you press that function key.
.PP
The text that follows the line
.B cmd=
lists the commands that you have executed with the command
.BR Command .
You can embed the following tokens in a command:
.DS
	\fB%F\fR	Represent the currently highlighted file
	\fB%T\fR	Represent all tagged files
	\fB%D\fR	Represent the destination directory
.DE
.PP
These are used just as they are with the
.B Command
command, described above.
.SH "Command-line Options"
.B vsh
recognizes the following options:
.IP \fB\-d\fIdirectory\fR 0.3i
Enter
.B vsh
and begin to work in
.IR directory .
If no
.I directory
is named, then begin work in the current directory
.B vsh
normally begins in the last directory used in your last \fBvsh\fR session.
.IP \fB\-e\fR
.II VT-100
Do not use the graphic character set.
This option coarsens the appearance of
.BR vsh ,
but gives it a fighting chance to run on cheap terminals that do not
implement the full alternate character set of the DEC VT-100 terminal.
.IP \fB\-i\fR
Restrict the user's ability to run the
.B Install
command.
In this mode,
.B vsh
can be used as a restricted shell, especially if it is embedded in
.BR /etc/passwd .
.IP \fB\-r\fR
Restrict the shell.
This option turns off the following:
.DS
	\(bu The command \fBCommand\fR
	\(bu No interactive shell can be called from the \fBOptions\fR menu
	\(bu Most options from the \fBDirectory\fR menu
	\(bu Most options from the \fBInstall\fR menu
.DE
.IP
This lets the system administrator restrict the activity of users fairly
strongly.
.IP \fB\-t\fR
This command-line option tells
.B vsh
to assume the entire VT-100 mapping.
This is useful with terminals whose system definitions are incomplete, or
the alternate character set is ignored.
.SH Files
\fB$HOME/.vsh\fR \(em Configuration file
.SH "See Also"
.Xr "commands," commands
.Xr "ksh," ksh
.Xr "sh," sh
.Xr "terminfo," terminfo
.Xr "ttytype," ttytype
.Xr "Using COHERENT" using_coh
.SH Notes
.II "Munk, Udo"
.B vsh
was written by Udo Munk:
.ie \n(HT .PH udo.gif
.el       .PH 1 1 \\*(XD/udo.eps
.PP
To reach Udo, send e-mail to udo@mwc.com.
