Annotation of 43BSDTahoe/new/jove/doc/jove.nr, revision 1.1.1.1

1.1       root        1: .hy 0
                      2: .TH JOVE 1 "12 February 1986"
                      3: .ad
                      4: .SH NAME
                      5: jove - an interactive display-oriented text editor
                      6: .SH SYNOPSIS
                      7: .nf
                      8: jove [-d directory] [-w] [-t tag] [+[n] file] [-p file] [files]
                      9: jove -r
                     10: .fi
                     11: .SH DESCRIPTION
                     12: JOVE is Jonathan's Own Version of Emacs.  It is based on the original EMACS
                     13: editor written at MIT by Richard Stallman.  Although JOVE is meant to be
                     14: compatible with EMACS, there are some major differences between the two
                     15: editors and you shouldn't rely on their behaving identically.
                     16: .LP
                     17: JOVE works on any reasonable display terminal that is described in the
                     18: .I termcap
                     19: file (see TERMCAP(5) for more details).  When you start up JOVE, it checks
                     20: to see whether you have your
                     21: .I TERM
                     22: environment variable set.  On most systems that will automatically be set up
                     23: for you, but if it's not JOVE will ask you what kind of terminal you are
                     24: using.  To avoid having to type this every time you run JOVE you can set your
                     25: .I TERM
                     26: environment variable yourself.  How you do this depends on which shell you
                     27: are running.  If you are running the C Shell, as most of you are, you type
                     28: .sp 1
                     29:      % setenv TERM
                     30: .I type
                     31: .sp 1
                     32: and with the Bourne Shell, you type
                     33: .sp 1
                     34:      $ TERM=
                     35: .I type
                     36: ; export TERM
                     37: .sp 1
                     38: where
                     39: .I type
                     40: is the name of the kind of terminal you are using (e.g., vt100).  If
                     41: neither of these works get somebody to help you.
                     42: .SH INVOKING JOVE
                     43: If you run JOVE with no arguments you will be placed in an empty buffer,
                     44: called
                     45: .I Main.
                     46: Otherwise, any arguments you supply are considered file names and each is
                     47: "given" its own buffer.  Only the first file is actually read in--reading
                     48: other files is deferred until you actually try to use the buffers they are
                     49: attached to.  This is for efficiency's sake: most of the time, when you run
                     50: JOVE on a big list of files, you end up editing only a few of them.
                     51: .LP
                     52: The names of all of the files specified on the command line are saved in a
                     53: buffer, called
                     54: .I *minibuf*.
                     55: The mini-buffer is a special JOVE buffer that is used when JOVE is prompting
                     56: for some input to many commands (for example, when JOVE is prompting for a
                     57: file name).  When you are being prompted for a file name, you can type C-N
                     58: (that's Control-N) and C-P to cycle through the list of files that were
                     59: specified on the command line.  The file name will be inserted where you are
                     60: typing and then you can edit it as if you typed it in yourself.
                     61: .LP
                     62: JOVE recognizes the following switches:
                     63: .TP
                     64: .I -d
                     65: The following argument is taken to be the name of the current directory.
                     66: This is for systems that don't have a version of C shell that automatically
                     67: maintains the
                     68: .I CWD
                     69: environment variable.  If
                     70: .I -d
                     71: is not specified on a system without a modified C shell, JOVE will have to
                     72: figure out the current directory itself, and that can be VERY slow.  You
                     73: can simulate the modified C shell by putting the following lines in your
                     74: C shell initialization file (.cshrc):
                     75: .nf
                     76: .sp 1
                     77:        alias cd        'cd \e!*; setenv CWD $cwd'
                     78:        alias popd      'popd \e!*; setenv CWD $cwd'
                     79:        alias pushd     'pushd \e!*; setenv CWD $cwd'
                     80: .fi
                     81: .TP
                     82: .I +n
                     83: Reads the file, designated by the following argument, and positions point at
                     84: the
                     85: .I n'th
                     86: line instead of the (default) 1'st line.  This can be specified more than
                     87: once but it doesn't make sense to use it twice on the same file; in that
                     88: case the second one wins. If no numeric argument is given after the +,
                     89: the point is positioned at the end of the file.
                     90: .TP
                     91: .I -p
                     92: Parses the error messages in the file designated by the following argument.
                     93: The error messages are assumed to be in a format similar to the C compiler,
                     94: LINT, or GREP output.
                     95: .TP
                     96: .I -t
                     97: Runs the
                     98: .I find-tag 
                     99: command on the string of characters immediately following 
                    100: the -t if there is one (as in -tTagname), or on
                    101: the following argument (as in -t Tagname) otherwise (see ctags(1)).
                    102: .TP
                    103: .I -w
                    104: Divides the window in two.  When this happens, either the same file is
                    105: displayed in both windows, or the second file in the list is read in and
                    106: displayed in its window.
                    107: .SH "RECOVERING BUFFERS AFTER A CRASH"
                    108: The
                    109: .I -r
                    110: option of jove runs the JOVE recover program.  Use this when the system
                    111: crashes, or JOVE crashes, or you accidently get logged out while in JOVE.
                    112: If there are any buffers to be recovered, this will find them.
                    113: .LP
                    114: Recover looks for JOVE buffers that are left around and are
                    115: owned by you.  (You cannot recover other peoples' buffers, obviously.)
                    116: If there were no buffers that were modified at the time of the
                    117: crash or there were but recover can't get its hands on them, you will be
                    118: informed with the message, "There is nothing to recover."  Otherwise,
                    119: recover prints the date and time of the version of the buffers it has,
                    120: and then waits for you type a command.
                    121: .LP
                    122: To get a list of the buffers recover knows about, use the
                    123: .I list
                    124: command.  This will list all the buffers and the files and the number of
                    125: lines associated with them.  Next to each buffer is a number.  When you want
                    126: to recover a buffer, use the
                    127: .I get
                    128: command.  The syntax is
                    129: .I get buffer filename
                    130: where
                    131: .I buffer
                    132: is either the buffer's name or the number at the beginning of the line.  If
                    133: you don't type the buffer name or the filename, recover will prompt you
                    134: for them.
                    135: .LP
                    136: If there are a lot of buffers and you want to recover all of them, use the
                    137: .I recover
                    138: command.  This will recover each buffer to the name of the buffer with ".#"
                    139: prepended to the name (so that the original isn't over-written).  It asks
                    140: for each file and if you want to restore that buffer to that name you type
                    141: "yes".  If you want to recover the file but to a different name, just type
                    142: the new name in.  If you type "no" recover will skip that file and go on
                    143: to the next one.
                    144: .LP
                    145: If you want to look at a buffer before deciding to recover it, use the
                    146: .I print
                    147: command.  The syntax for this is
                    148: .I print buffer
                    149: where
                    150: .I buffer
                    151: again is either its name or the number.  You can type ^C if you want to
                    152: abort printing the file to the terminal, and recover will respond with
                    153: an appropriate message.
                    154: .LP
                    155: When you're done and have all the buffers you want, type the
                    156: .I quit
                    157: command to leave.  You will then be asked whether it's okay to delete the
                    158: tmp files.  Most of the time that's okay and you should type "yes".  When
                    159: you say that, JOVE removes all traces of those buffers and you won't be able
                    160: to look at them again.  (If you recovered some buffers they will still be
                    161: around, so don't worry.)  So, if you're not sure whether you've gotten all
                    162: the buffers, you should answer "no" so that you'll be able to run
                    163: recover again at a later time (presumably after you've figured out
                    164: which ones you want to save).
                    165: .LP
                    166: If you type ^C at any time other than when you're printing a file to the
                    167: terminal, recover will exit without a word.  If you do this but wish you
                    168: hadn't, just type "jove -r" to the shell again, and you will be put back
                    169: with no loss.
                    170: .SH GETTING HELP
                    171: Once in JOVE, there are several commands available to get help.  To execute
                    172: any JOVE command, you type "<ESC> X command-name" followed by <Return>.  To
                    173: get a list of all the JOVE commands you type "<ESC> X" followed by "?".  The
                    174: .I describe-bindings
                    175: command can be used to get a list containing each key, and its associated
                    176: command (that is, the command that gets executed when you type that key).
                    177: If you want to save the list of bindings, you can set the jove variable
                    178: .I send-typeout-to-buffer
                    179: to ON (using the 
                    180: .I set
                    181: command), and then execute the
                    182: .I describe-bindings
                    183: command.  This will create a buffer and put in it the bindings list it
                    184: normally would have printed on the screen.  Then you can save that buffer to
                    185: a file and print it to use as a quick reference card.  (See VARIABLES below.)
                    186: .LP
                    187: Once you know the name of a command, you can find out what it does with the
                    188: .I describe-command
                    189: command, which you can invoke quickly by typing "ESC ?".  The
                    190: .I apropos
                    191: command will give you a list of all the command with a specific string in
                    192: their names.  For example, if you want to know the names of all the
                    193: commands that are concerned with windows, you can run "apropos" with the
                    194: keyword
                    195: .I window.
                    196: .LP
                    197: If you're not familar with the EMACS command set, it would be worth your
                    198: while to use run TEACHJOVE.  Do do that, just type "teachjove" to your shell
                    199: and you will be placed in JOVE in a file which contains directions.  I highly
                    200: recommend this for beginners; you may save yourself a lot of time and
                    201: headaches.
                    202: .SH KEY BINDINGS and VARIABLES
                    203: You can alter the key bindings in JOVE to fit your personal tastes.  That
                    204: is, you can change what a key does every time you strike it.  For example,
                    205: by default the C-N key is bound to the command
                    206: .I next-line
                    207: and so when you type it you move down a line.  If you want to change a
                    208: binding or add a new one, you use the
                    209: .I bind-to-key
                    210: command.  The syntax is "bind-to-key <command> key".
                    211: .LP
                    212: You can also change the way JOVE behaves in little ways by changing the
                    213: value of some variables with the
                    214: .I set
                    215: command.  The syntax is "set <variable> value", where value is a number or a
                    216: string, or "on" or "off", depending on the context.  For example, if you
                    217: want JOVE to make backup files, you set the "make-backup-files" variable to
                    218: "on".  To see the value of a variable, use the "print <variable>" command.
                    219: .SH INITIALIZATION
                    220: JOVE automatically reads commands from an initialization file in your HOME
                    221: directory, called ".joverc".  In this file you can place commands that you
                    222: would normally type in JOVE.  If you like to rearrange the key bindings and
                    223: set some variables every time you get into JOVE, you should put them in your
                    224: initialization file.  Here are a few lines from mine:
                    225: .nf
                    226:        set match-regular-expressions on
                    227:        auto-execute-command auto-fill /tmp/Re\e|.*drft
                    228:        bind-to-key i-search-forward ^\e
                    229:        bind-to-key i-search-reverse ^R
                    230:        bind-to-key find-tag-at-point ^[^T
                    231:        bind-to-key scroll-down ^C
                    232:        bind-to-key grow-window ^Xg
                    233:        bind-to-key shrink-window ^Xs
                    234: .fi
                    235: (Note that the Control Characters can be either two character sequences
                    236: (e.g. ^ and C together as ^C) or the actual control character.  If you want
                    237: to use an ^ by itself you must BackSlash it (e.g., bind-to-key grow-window
                    238: ^X\e^ binds grow-window to "^X^").
                    239: .SH SOME MINOR DETAILS
                    240: You should type C-\e instead of C-S in many instances.  For example, the way
                    241: to search for a string is documented as being "C-S" but in reality you
                    242: should type "C-\e".  This is because C-S is the XOFF character (what gets
                    243: sent when you type the NO SCROLL key), and clearly that won't work.  The XON
                    244: character is "C-Q" (what gets sent when you type NO SCROLL again) which is
                    245: documented as the way to do a quoted-insert.  The alternate key for this is
                    246: "C-^" (typed as "C-`" on vt100's and its look-alikes).  If you want to
                    247: enable C-S and C-Q and you know what you are doing, you can put the line:
                    248: .nf
                    249:        set allow-^S-and-^Q on
                    250: .fi
                    251: in your initialization file.
                    252: .LP
                    253: If your terminal has a metakey, JOVE will use it if you turn on the
                    254: "meta-key" variable.  JOVE will automatically turn on "meta-key" if the
                    255: METAKEY environment variable exists.  This is useful for if you have
                    256: different terminals (e.g., one at home and one at work) and one has a
                    257: metakey and the other doesn't.
                    258: .SH FILES
                    259: LIBDIR/.joverc - system wide initialization file
                    260: .sp 0
                    261: ~/.joverc - personal initialization file
                    262: .sp 0
                    263: TMPDIR - where temporary files are stored
                    264: .sp 0
                    265: LIBDIR/teach-jove - the interactive tutorial
                    266: .sp 0
                    267: LIBDIR/portsrv - for running shells in windows (pdp11 only)
                    268: .SH SEE ALSO
                    269: .nf
                    270: ed(1) - for a description of regular expressions
                    271: .sp 0
                    272: teachjove(1) - for an interactive JOVE tutorial.
                    273: .fi
                    274: .SH DIAGNOSTICS
                    275: JOVE diagnostics are meant to be self-explanatory, but you are advised
                    276: to seek help whenever you are confused.  You can easily lose a lot of
                    277: work if you don't know EXACTLY what you are doing.
                    278: .SH BUGS
                    279: Lines can't be more than 1024 characters long.
                    280: .sp 1
                    281: Searches can't cross line boundaries.
                    282: .SH AUTHOR
                    283: Jonathan Payne

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.