|
|
1.1 root 1: .hy 0
2: .TH JOVE 1 "February 12, 1986" "Lincoln Sudbury Regional High School"
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.
73: .TP
74: .I +n
75: Reads the file, designated by the following argument, and positions point at
76: the
77: .I n'th
78: line instead of the (default) 1'st line. This can be specified more than
79: once but it doesn't make sense to use it twice on the same file; in that
80: case the second one wins.
81: .TP
82: .I -p
83: Parses the error messages in the file designated by the following argument.
84: The error messages are assumed to be in a format similar to the C compiler,
85: LINT, or GREP output.
86: .TP
87: .I -t
88: Runs the
89: .I find-tag
90: command on the following argument (see ctags(1)).
91: .TP
92: .I -w
93: Divides the window in two. When this happens, either the same file is
94: displayed in both windows, or the second file in the list is read in and
95: displayed in its window.
96: .LP
97: As a special case, invoking JOVE with the -r option runs JOVE_RECOVER. Use
98: this when the system crashes, or JOVE crashes, or you accidently get logged
99: out while in JOVE. If there are any buffers to be recovered, this will find
100: them. Read the documentation for JOVE_RECOVER.
101: .LP
102: .SH GETTING HELP
103: Once in JOVE, there are several commands available to get help. To execute
104: any JOVE command, you type "<ESC> X command-name" followed by <Return>. To
105: get a list of all the JOVE commands you type "<ESC> X" followed by "?". The
106: .I describe-bindings
107: command can be used to get a list containing each key, and its associated
108: command (that is, the command that gets executed when you type that key).
109: If you want to save the list of bindings, you can set the jove variable
110: .I send-typeout-to-buffer
111: to ON (using the
112: .I set
113: command), and then execute the
114: .I describe-bindings
115: command. This will create a buffer and put in it the bindings list it
116: normally would have printed on the screen. Then you can save that buffer to
117: a file and print it to use as a quick reference card. (See VARIABLES below.)
118: .LP
119: Once you know the name of a command, you can find out what it does with the
120: .I describe-command
121: command, which you can invoke quickly by typing "ESC ?". The
122: .I apropos
123: command will give you a list of all the command with a specific string in
124: their names. For example, if you want to know the names of all the
125: commands that are concerned with windows, you can run "apropos" with the
126: keyword
127: .I window.
128: .LP
129: If you're not familar with the EMACS command set, it would be worth your
130: while to use run TEACHJOVE. Do do that, just type "teachjove" to your shell
131: and you will be placed in JOVE in a file which contains directions. I highly
132: recommend this for beginners; you may save yourself a lot of time and
133: headaches.
134: .SH KEY BINDINGS and VARIABLES
135: You can alter the key bindings in JOVE to fit your personal tastes. That
136: is, you can change what a key does every time you strike it. For example,
137: by default the C-N key is bound to the command
138: .I next-line
139: and so when you type it you move down a line. If you want to change a
140: binding or add a new one, you use the
141: .I bind-to-key
142: command. The syntax is "bind-to-key <command> key".
143: .LP
144: You can also change the way JOVE behaves in little ways by changing the
145: value of some variables with the
146: .I set
147: command. The syntax is "set <variable> value", where value is a number or a
148: string, or "on" or "off", depending on the context. For example, if you
149: want JOVE to make backup files, you set the "make-backup-files" variable to
150: "on". To see the value of a variable, use the "print <variable>" command.
151: .SH INITIALIZATION
152: JOVE automatically reads commands from an initialization file in your HOME
153: directory, called ".joverc". In this file you can place commands that you
154: would normally type in JOVE. If you like to rearrange the key bindings and
155: set some variables every time you get into JOVE, you should put them in your
156: initialization file. Here are a few lines from mine:
157: .nf
158: set match-regular-expressions on
159: auto-execute-command auto-fill /tmp/Re\\|.*drft
160: bind-to-key i-search-forward ^\\
161: bind-to-key i-search-reverse ^R
162: bind-to-key find-tag-at-point ^[^T
163: bind-to-key scroll-down ^C
164: bind-to-key grow-window ^Xg
165: bind-to-key shrink-window ^Xs
166: .fi
167: (Note that the Control Characters can be either two character sequences
168: (e.g. ^ and C together as ^C) or the actual control character. If you want
169: to use an ^ by itself you must BackSlash it (e.g., bind-to-key grow-window
170: ^X\\^ binds grow-window to "^X^").
171: .SH SOME MINOR DETAILS
172: You should type C-\\ instead of C-S in many instances. For example, the way
173: to search for a string is documented as being "C-S" but in reality you
174: should type "C-\\". This is because C-S is the XOFF character (what gets
175: sent when you type the NO SCROLL key), and clearly that won't work. The XON
176: character is "C-Q" (what gets sent when you type NO SCROLL again) which is
177: documented as the way to do a quoted-insert. The alternate key for this is
178: "C-^" (typed as "C-`" on vt100's and its look-alikes). If you want to
179: enable C-S and C-Q and you know what you are doing, you can put the line:
180: .nf
181: set allow-^S-and-^Q on
182: .fi
183: in your initialization file.
184: .LP
185: If your terminal has a metakey, JOVE will use it if you turn on the
186: "meta-key" variable. JOVE will automatically turn on "meta-key" if the
187: METAKEY environment variable exists. This is useful for if you have
188: different terminals (e.g., one at home and one at work) and one has a
189: metakey and the other doesn't.
190: .SH FILES
191: LIBDIR/.joverc - system wide initialization file
192: .sp 0
193: ~/.joverc - personal initialization file
194: .sp 0
195: TMPDIR - where temporary files are stored
196: .sp 0
197: LIBDIR/teach-jove - the interactive tutorial
198: .sp 0
199: LIBDIR/portsrv - for running shells in windows (pdp11 only)
200: .SH SEE ALSO
201: .nf
202: jove_recover(1) - to recover buffers after a system/editor crash
203: .sp 0
204: ed(1) - for a description of regular expressions
205: .sp 0
206: teachjove(1) - for an interactive JOVE tutorial.
207: .fi
208: .SH DIAGNOSTICS
209: JOVE diagnostics are meant to be self-explanatory, but you are advised
210: to seek help whenever you are confused. You can easily lose a lot of
211: work if you don't know EXACTLY what you are doing.
212: .SH BUGS
213: Lines can't be more than 1024 characters long.
214: .sp 1
215: Searches can't cross line boundaries.
216: .SH AUTHOR
217: Jonathan Payne
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.