typo in nntp name
[unix-history] / usr / src / contrib / jove-4.14.6 / USD.doc / jove.4
CommitLineData
42410e64
KM
1.\" @(#)jove.4 6.1 (Berkeley) %G%
2.\"
3.bp
4.NH 1
5Alphabetical List of Commands and Variables
6.dc "Prefix-1" "Escape"
7This reads the next character and runs a command based on the character
8typed. If you wait for more than a second or so before typing the next
9character, the message "ESC" will be printed on the message line to
10remind you that \s-2JOVE\s0 is waiting for another character.
11.dc "Prefix-2" "C-X"
12This reads the next character and runs a command based on the character
13typed. If you wait for more than a second or so before typing another
14character, the message "C-X" will be printed on the message line to
15remind you that \s-2JOVE\s0 is waiting for another character.
16.dc "Prefix-3" "Not Bound"
17This reads the next character and runs a command based on the character
18typed. If you wait for more than a second or so before typing the next
19character, the character that invoked Prefix-3 will be printed on the
20message line to remind you that \s-2JOVE\s0 is waiting for another one.
21.dc "allow-^S-and-^Q" "(variable)"
22This variable, when set, tells \s-2JOVE\s0 that your terminal does not need
23to use the characters C-S and C-Q for flow control, and that it is
24okay to bind things to them. This variable should be set depending
25upon what kind of terminal you have.
26.dc "allow-bad-filenames" "(variable)"
27If set, this variable permits filenames to contain "bad" characters
28such as those from the set *&%!"`[]{}. These files are harder to deal
29with, because the characters mean something to the shell. The default
30value is "off".
31.dc "append-region" "Not Bound"
32This appends the region to a specified file. If the file does not
33already exist it is created.
34.dc "apropos" "Not Bound"
35This types out all the commands, variables and macros with the specific
36keyword in their names. For each command and macro that contains the
37string, the key sequence that can be used to execute the command or macro is
38printed; with variables, the current value is printed. So, to find all the
39commands that are related to windows, you type
40.DS
41ESC X apropos window<Return>
42.DE
43.dc "auto-case-abbrev" "(variable)"
44When this variable is on (the default), word abbreviations are adjusted for
45case automatically. For example, if "jove" were the abbreviation for
46"jonathan's own version of emacs", then typing "jove" would give you
47"jonathan's own version of emacs", typing "Jove" would give you "Jonathan's
48own version of emacs", and typing "JOVE" would give you "Jonathan's Own
49Version of Emacs". When this variable is "off", upper and lower case are
50distinguished when looking for the abbreviation, i.e., in the example above,
51"JOVE" and "Jove" would not be expanded unless they were defined separately.
52.dc "auto-execute-command" "Not Bound"
53This tells \s-2JOVE\s0 to execute a command automatically when a file whose
54name matches a specified pattern is visited. The first argument is the
55command you want executed and the second is a regular expression
56pattern that specifies the files that apply. For example, if you want
57to be in show-match-mode when you edit C source files (that is, files
58that end with ".c" or ".h") you can type
59.ID
60ESC X auto-execute-command show-match-mode .*\.[ch]$
61.DE
62.dc "auto-execute-macro" "Not Bound"
63This is like
64.IQ auto-execute-command
65except you use it to execute macros
66automatically instead of built-in commands.
67.dc "auto-fill-mode" "Not Bound"
68This turns on Auto Fill mode (or off if it's currently on) in the
69selected buffer. When \s-2JOVE\s0 is in Auto Fill mode it automatically
70breaks lines for you when you reach the right margin so you don't have
71to remember to hit Return. \s-2JOVE\s0 uses 78 as the right margin but you
72can change that by setting the variable
73.IQ right-margin
74to another
75value. See the
76.IQ set
77command to learn how to do this.
78.dc "auto-indent-mode" "Not Bound"
79This turns on Auto Indent mode (or off if it's currently on) in the
80selected buffer. When \s-2JOVE\s0 is in Auto Indent mode, Return indents the
81new line to the same position as the line you were just on. This is
82useful for lining up C code (or any other language (but what else is
83there besides C?)). This is out of date because of the new command
84called
85.IQ newline-and-indent
86but it remains because of several
87"requests" on the part of, uh, enthusiastic and excitable users, that
88it be left as it is.
89.dc "backward-character" "C-B"
90This moves point backward over a single character. If point is at the
91beginning of the line it moves to the end of the previous line.
92.dc "backward-paragraph" "ESC ["
93This moves point backward to the beginning of the current or previous
94paragraph. Paragraphs are bounded by lines that begin with a Period or
95Tab, or by blank lines; a change in indentation may also signal a break
96between paragraphs, except that \s-2JOVE\s0 allows the first line of a paragraph
97to be indented differently from the other lines.
98.dc "backward-s-expression" "ESC C-B"
99This moves point backward over a s-expression. It is just like
100.IQ forward-s-expression
101with a negative argument.
102.dc "backward-sentence" "ESC A"
103This moves point backward to the beginning of the current or previous
104sentence. \s-2JOVE\s0 considers the end of a sentence to be the characters
105".", "!" or "?" followed by a Return or by one or more spaces.
106.dc "backward-word" "ESC B"
107This moves point backward to the beginning of the current or previous
108word.
109.dc "bad-filename-extensions" "(variable)"
110This contains a list of words separated by spaces which are to be
111considered bad filename extensions, and so will not be counted in
112filename completion. The default is ".o" so if you have jove.c and
113jove.o in the same directory, the filename completion will
114.IQ not
115complain
116of an ambiguity because it will ignore jove.o.
117.dc "beginning-of-file" "ESC <"
118This moves point backward to the beginning of the buffer. This
119sometimes prints the "Point Pushed" message. If the top of the buffer
120isn't on the screen \s-2JOVE\s0 will set the mark so you can go back to where
121you were if you want.
122.dc "beginning-of-line" "C-A"
123This moves point to the beginning of the current line.
124.dc "beginning-of-window" "ESC ,"
125This moves point to the beginning of the current window. The sequence
126"ESC ," is the same as "ESC <" (beginning of file) except without the shift
127key on the "<", and can thus can easily be remembered.
128.dc "bind-to-key" "Not Bound"
129This attaches a key to an internal \s-2JOVE\s0 command so that future hits on
130that key invoke that command. For example, to make "C-W" erase the
131previous word, you type "ESC X bind-to-key kill-previous-word C-W".
132.dc "bind-macro-to-key" "Not Bound"
133This is like
134.IQ bind-to-key
135except you use it to attach keys to
136named macros.
137.dc "bind-macro-to-word-abbrev" "Not Bound"
138This command allows you to bind a macro to a previously defined word
139abbreviation. Whenever you type the abbreviation, it will first be expanded
140as an abbreviation, and then the macro will be executed. Note that if the
141macro moves around, you should set the mark first (C-@) and then exchange
142the point and mark last (C-X C-X).
143.dc "buffer-position" "Not Bound"
144This displays the current file name, current line number, total number
145of lines, percentage of the way through the file, and the position of
146the cursor in the current line.
147.dc "c-mode" "Not Bound"
148This turns on C mode in the currently selected buffer. This is one of
149currently four possible major modes: Fundamental, Text, C, Lisp.
150When in C or Lisp mode, Tab, "}", and ")" behave a little differently
151from usual: They are indented to the "right" place for C (or Lisp)
152programs. In \s-2JOVE\s0, the "right" place is simply the way the author
153likes it (but I've got good taste).
154.dc "case-character-capitalize" "Not Bound"
155This capitalizes the character after point, i.e., the character undo
156the cursor. If a negative argument is supplied that many characters
157.IQ before
158point are upper cased.
159.dc "case-ignore-search" "(variable)"
160This variable, when set, tells \s-2JOVE\s0 to treat upper and lower case as
161the same when searching. Thus "jove" and "JOVE" would match, and
162"JoVe" would match either. The default value of this variable is "off".
163.dc "case-region-lower" "Not Bound"
164This changes all the upper case letters in the region to their lower
165case equivalent.
166.dc "case-region-upper" "Not Bound"
167This changes all the lower case letters in the region to their upper
168case equivalent.
169.dc "case-word-capitalize" "ESC C"
170This capitalizes the current word by making the current letter upper
171case and making the rest of the word lower case. Point is moved to
172the end of the word. If point is not positioned on a word it is first
173moved forward to the beginning of the next word. If a negative
174argument is supplied that many words
175.IQ before
176point are capitalized.
177This is useful for correcting the word just typed without having to
178move point to the beginning of the word yourself.
179.dc "case-word-lower" "ESC L"
180This lower-cases the current word and leaves point at the end of it.
181If point is in the middle of a word the rest of the word is
182converted. If point is not in a word it is first moved forward to the
183beginning of the next word. If a negative argument is supplied that
184many words
185.IQ before
186point are converted to lower case. This is useful
187for correcting the word just typed without having to move point to the
188beginning of the word yourself.
189.dc "case-word-upper" "ESC U"
190This upper-cases the current word and leaves point at the end of it.
191If point is in the middle of a word the rest of the word is
192converted. If point is not in a word it is first moved forward to the
193beginning of the next word. If a negative argument is supplied that
194many words
195.IQ before
196point are converted to upper case. This is useful
197for correcting the word just typed without having to move point to the
198beginning of the word yourself.
199.dc "character-to-octal-insert" "Not Bound"
200This inserts a Back-slash followed by the ascii value of the next
201character typed. For example, "C-G" inserts the string "\\007".
202.dc "cd" "Not Bound"
203This changes the current directory.
204.dc "clear-and-redraw" "ESC C-L"
205This clears the entire screen and redraws all the windows. Use this
206when \s-2JOVE\s0 gets confused about what's on the screen, or when the screen
207gets filled with garbage characters or output from another program.
208.dc "comment-format" "(variable)"
209This variable tells \s-2JOVE\s0 how to format your comments when you run the
210command
211.IQ fill-comment.
212Its format is this:
213.ID
214<open pattern>%!<line header>%c<line trailer>%!<close pattern>
215.DE
216The %!, %c, and %! must appear in the format; everything else is optional.
217A newline (represented by %n) may appear in the open or close patterns. %%
218is the representation for %. The default comment format is for C comments.
219See
220.IQ fill-comment
221for more.
222.dc "compile-it" "C-X C-E"
223This compiles your program by running the UNIX command "make" into a buffer,
224and automatically parsing the error messages that are created (if any). See
225the
226.IQ parse-errors
227and
228.IQ parse-special-errors
229commands. To compile
230a C program without "make", use "C-U C-X C-E" and \s-2JOVE\s0 will prompt
231for a command to run instead of make. (And then the command you type will
232become the default command.) You can use this to parse the output from the
233C compiler or the "grep" or "lint" programs.
234.dc "continue-process" "Not Bound"
235This sends SIGCONT to the current interactive process,
236.IQ if
237the process
238is currently stopped.
239.dc "copy-region" "ESC W"
240This takes all the text in the region and copies it onto the kill ring
241buffer. This is just like running
242.IQ kill-region
243followed by the
244.IQ yank
245command. See the
246.IQ kill-region
247and
248.IQ yank
249commands.
250.dc "current-error" "Not Bound"
251This moves to the current error in the list of parsed errors. See the
252.IQ next-error
253and
254.IQ previous-error
255commands for more detailed
256information.
257.dc "date" "Not Bound"
258This prints the date on the message line.
259.dc "define-mode-word-abbrev" "Not Bound"
260This defines a mode-specific abbreviation.
261.dc "define-global-word-abbrev" "Not Bound"
262This defines a global abbreviation.
263.dc "delete-blank-lines" "C-X C-O"
264This deletes all the blank lines around point. This is useful when you
265previously opened many lines with "C-O" and now wish to delete the
266unused ones.
267.dc "delete-buffer" "C-X K"
268This deletes a buffer and frees up all the memory associated with it.
269Be careful! Once a buffer has been deleted it is gone forever. \s-2JOVE\s0
270will ask you to confirm if you try to delete a buffer that needs
271saving. This command is useful for when \s-2JOVE\s0 runs out of space to
272store new buffers.
273.dc "delete-macro" "Not Bound"
274This deletes a macro from the list of named macros. It is an error to
275delete the keyboard-macro. Once the macro is deleted it is gone forever.
276If you are about to save macros to a file and decide you don't want to save
277a particular one, delete it.
278.dc "delete-next-character" "C-D"
279This deletes the character that's just after point (that is, the
280character under the cursor). If point is at the end of a line, the
281line separator is deleted and the next line is joined with the current
282one.
283.dc "delete-other-windows" "C-X 1"
284This deletes all the other windows except the current one. This can be
285thought of as going back into One Window mode.
286.dc "delete-previous-character" "Rubout"
287This deletes the character that's just before point (that is, the
288character before the cursor). If point is at the beginning of the
289line, the line separator is deleted and that line is joined with the
290previous one.
291.dc "delete-white-space" "ESC \\\\"
292This deletes all the Tabs and Spaces around point.
293.dc "delete-current-window" "C-X D"
294This deletes the current window and moves point into one of the
295remaining ones. It is an error to try to delete the only remaining
296window.
297.dc "describe-bindings" "Not Bound"
298This types out a list containing each bound key and the command that gets
299invoked every time that key is typed. To make a wall chart of \s-2JOVE\s0
300commands, set
301.IQ send-typeout-to-buffer
302to "on" and \s-2JOVE\s0 will
303store the key bindings in a buffer which you can save to a file and then
304print.
305.dc "describe-command" "Not Bound"
306This prints some info on a specified command.
307.dc "describe-key" "Not Bound"
308This waits for you to type a key and then tells the name of the
309command that gets invoked every time that key is hit. Once you have
310the name of the command you can use the
311.IQ describe-command
312command
313to find out exactly what it does.
314.dc "describe-variable" "Not Bound"
315This prints some info on a specified variable.
316.dc "digit" "ESC [0-9]"
317This reads a numeric argument. When you type "ESC" followed by a
318number, "digit" keeps reading numbers until you type some other
319command. Then that command is executes with the numeric argument you
320specified.
321.dc "digit-1" "Not Bound"
322This pretends you typed "ESC 1". This is useful for terminals that
323have keypads that send special sequences for numbers typed on the
324keypad as opposed to numbers typed from the keyboard. This can save
325having type "ESC" when you want to specify an argument.
326.dc "digit-2" "Not Bound"
327This pretends you typed "ESC 2". This is useful for terminals that
328have keypads that send special sequences for numbers typed on the
329keypad as opposed to numbers typed from the keyboard. This can save
330having type "ESC" when you want to specify an argument.
331.dc "digit-3" "Not Bound"
332This pretends you typed "ESC 3". This is useful for terminals that
333have keypads that send special sequences for numbers typed on the
334keypad as opposed to numbers typed from the keyboard. This can save
335having type "ESC" when you want to specify an argument.
336.dc "digit-4" "Not Bound"
337This pretends you typed "ESC 4". This is useful for terminals that
338have keypads that send special sequences for numbers typed on the
339keypad as opposed to numbers typed from the keyboard. This can save
340having type "ESC" when you want to specify an argument.
341.dc "digit-5" "Not Bound"
342This pretends you typed "ESC 5". This is useful for terminals that
343have keypads that send special sequences for numbers typed on the
344keypad as opposed to numbers typed from the keyboard. This can save
345having type "ESC" when you want to specify an argument.
346.dc "digit-6" "Not Bound"
347This pretends you typed "ESC 6". This is useful for terminals that
348have keypads that send special sequences for numbers typed on the
349keypad as opposed to numbers typed from the keyboard. This can save
350having type "ESC" when you want to specify an argument.
351.dc "digit-7" "Not Bound"
352This pretends you typed "ESC 7". This is useful for terminals that
353have keypads that send special sequences for numbers typed on the
354keypad as opposed to numbers typed from the keyboard. This can save
355having type "ESC" when you want to specify an argument.
356.dc "digit-8" "Not Bound"
357This pretends you typed "ESC 8". This is useful for terminals that
358have keypads that send special sequences for numbers typed on the
359keypad as opposed to numbers typed from the keyboard. This can save
360having type "ESC" when you want to specify an argument.
361.dc "digit-9" "Not Bound"
362This pretends you typed "ESC 9". This is useful for terminals that
363have keypads that send special sequences for numbers typed on the
364keypad as opposed to numbers typed from the keyboard. This can save
365having type "ESC" when you want to specify an argument.
366.dc "digit-0" "Not Bound"
367This pretends you typed "ESC 0". This is useful for terminals that
368have keypads that send special sequences for numbers typed on the
369keypad as opposed to numbers typed from the keyboard. This can save
370having type "ESC" when you want to specify an argument.
371.dc "dirs" "Not Bound"
372This prints out the directory stack. See the "cd", "pushd", "popd"
373commands for more info.
374.dc "disable-biff" "(variable)"
375When this is set, \s-2JOVE\s0 disables biff when you're editing and enables it
376again when you get out of \s-2JOVE\s0, or when you pause to the parent shell
377or push to a new shell. (This means arrival of new mail will not be
378immediately apparent but will not cause indiscriminate writing on the
379display). The default is "off".
380.dc "dstop-process" "Not Bound"
381Send the "dsusp" character to the current process. This is the
382character that suspends a process on the next read from the
383terminal. Most people have it set to C-Y. This only works if
384you have the interactive process feature, and if you are in a
385buffer bound to a process.
386.dc "edit-word-abbrevs" "Not Bound"
387This creates a buffer with a list of each abbreviation and the phrase
388it expands into, and enters a recursive edit to let you change the
389abbreviations or add some more. The format of this list is
390"abbreviation:phrase" so if you add some more you should follow that
391format. It's probably simplest just to copy some already existing
392abbreviations and edit them. When you are done you type "C-X C-C" to
393exit the recursive edit.
394.dc "end-of-file" "ESC >"
395This moves point forward to the end of the buffer. This sometimes
396prints the "Point Pushed" message. If the end of the buffer isn't on
397the screen \s-2JOVE\s0 will set the mark so you can go back to where you were
398if you want.
399.dc "end-of-line" "C-E"
400This moves point to the end of the current line. If the line is too
401long to fit on the screen \s-2JOVE\s0 will scroll the line to the left to
402make the end of the line visible. The line will slide back to its
403normal position when you move backward past the leftmost visible character
404or when you move off the line altogether.
405.dc "end-of-window" "ESC ."
406This moves point to the last character in the window.
407.dc "eof-process" "Not Bound"
408Sends EOF to the current interactive process. This only works on
409versions of \s-2JOVE\s0 which run under 4.2-3 BSD VAX UNIX. You can't send
410EOF to processes on the 2.9 BSD PDP-11 UNIX.
411.dc "erase-buffer" "Not Bound"
412This erases the contents of the specified buffer. This is like
413.IQ delete-buffer
414except it only erases the contents of the buffer, not
415the buffer itself. If you try to erase a buffer that needs saving you
416will be asked to confirm it.
417.dc "error-window-size" "(variable)"
418This is the percentage of the screen to use for the error-window on the
419screen. When you execute
420.IQ compile-it,
421.IQ error-window-size
422percent of the screen will go to the error window. If the window already
423exists and is a different size, it is made to be this size. The default
424value is 20%.
425.dc "exchange-point-and-mark" "C-X C-X"
426This moves point to mark and makes mark the old point. This is for
427quickly moving from one end of the region to another.
428.dc "execute-named-command" "ESC X"
429This is the way to execute a command that isn't bound to any key.
430When you are prompted with ": " you can type the name of the
431command. You don't have to type the entire name. Once the command
432is unambiguous you can type Space and \s-2JOVE\s0 will fill in the rest for
433you.
434If you are not sure of the name of the command, type "?" and \s-2JOVE\s0
435will print a list of all the commands that you could possibly match
436given what you've already typed. If you don't have any idea what the
437command's name is but you know it has something to do with windows
438(for example), you can do "ESC X apropos window" and \s-2JOVE\s0 will print a
439list of all the commands that are related to windows.
440If you find yourself constantly executing the same commands this way
441you probably want to bind them to keys so that you can execute them
442more quickly. See the
443.IQ bind-to-key
444command.
445.dc "execute-keyboard-macro" "C-X E"
446This executes the keyboard macro. If you supply a numeric argument the
447macro is executed that many times.
448.dc "execute-macro" "Not Bound"
449This executes a specified macro. If you supply a numeric argument the
450macro is executed that many times.
451.dc "exit-jove" "C-X C-C"
452This exits \s-2JOVE\s0. If any buffers need saving \s-2JOVE\s0 will print a warning
453message and ask for confirmation. If you leave without saving your
454buffers all your work will be lost. If you made a mistake and really
455do want to exit then you can. If you are in a recursive editing level
456.IQ exit-jove
457will return you from that.
458.dc "file-creation-mode" "(variable)"
459This variable has an octal value.
460It contains the mode (see
461.IQ chmod(1)
462) with which files should be created. This mode gets modified by your
463current umask setting (see
464.IQ umask(1)
465). The default value is usually
466.IQ 0666
467or
468.IQ 0644.
469.dc "files-should-end-with-newline" "(variable)"
470This variable indicates that all files should always have a newline
471at the end. This is often necessary for line printers and the like.
472When set, if \s-2JOVE\s0 is writing a file whose last character is not a
473newline, it will add one automatically.
474.dc "fill-comment" "Not Bound"
475This command fills in your C comments to make them pretty and readable.
476This filling is done according the variable
477.IQ comment-format.
478.DS L
479/*
480 * the default format makes comments like this.
481 */
482.DE
483This can be changed by changing the format variable. Other languages
484may be supported by changing the format variable appropriately. The
485formatter looks backwards from dot for an open comment symbol. If
486found, all indentation is done relative the position of the first character
487of the open symbol. If there is a matching close symbol, the entire
488comment is formatted. If not, the region between dot and the open symbol
489is reformatted.
490.dc "fill-paragraph" "ESC J"
491This rearranges words between lines so that all the lines in the current
492paragraph extend as close to the right margin as possible, ensuring that
493none of the lines will be greater than the right margin. The default value
494for
495.IQ right-margin
496is 78, but can be changed with the
497.IQ set
498and
499.IQ right-margin-here
500commands. \s-2JOVE\s0 has a complicated algorithm
501for determining the beginning and end of the paragraph. In the normal case
502\s-2JOVE\s0 will give all the lines the same indent as they currently have,
503but if you wish to force a new indent you can supply a numeric argument to
504.IQ fill-paragraph
505(e.g., by typing C-U ESC J)
506and \s-2JOVE\s0 will indent each line to the column
507specified by the
508.IQ left-margin
509variable. See also the
510.IQ left-margin
511variable and
512.IQ left-margin-here
513command.
514.dc "fill-region" "Not Bound"
515This is like
516.IQ fill-paragraph,
517except it operates on a region instead of
518just a paragraph.
519.dc "filter-region" "Not Bound"
520This sends the text in the region to a UNIX command, and replaces the
521region with the output from that command. For example, if you are
522lazy and don't like to take the time to write properly indented C
523code, you can put the region around your C file and
524.IQ filter-region
525it
526through
527.IQ cb,
528the UNIX C beautifier. If you have a file that contains
529a bunch of lines that need to be sorted you can do that from inside
530\s-2JOVE\s0 too, by filtering the region through the
531.IQ sort
532UNIX command.
533Before output from the command replaces the region \s-2JOVE\s0 stores the old
534text in the kill ring, so if you are unhappy with the results you can
535easily get back the old text with "C-Y".
536.dc "find-file" "C-X C-F"
537This visits a file into its own buffer and then selects that buffer.
538If you've already visited this file in another buffer, that buffer is
539selected. If the file doesn't yet exist, \s-2JOVE\s0 will print "(New file)"
540so that you know.
541.dc "find-tag" "C-X T"
542This finds the file that contains the specified tag. \s-2JOVE\s0 looks up
543tags by default in the "tags" file in the current directory. You can change
544the default tag name by setting the
545.IQ tag-file
546variable to another
547name. If you specify a numeric argument to this command, you will be
548prompted for a tag file. This is a good way to specify another tag file
549without changing the default. If the tag cannot be found the error is
550reported and point stays where it is.
551.dc "find-tag-at-point" "Not Bound"
552This finds the file that contains the tag that point is currently on.
553See
554.IQ find-tag.
555.dc "first-non-blank" "ESC M"
556This moves point back to the indent of the current line.
557.dc "forward-character" "C-F"
558This moves forward over a single character. If point is at the end of
559the line it moves to the beginning of the next one.
560.dc "forward-paragraph" "ESC ]"
561This moves point forward to the end of the current or next paragraph.
562Paragraphs are bounded by lines that begin with a Period or Tab, or by blank
563lines; a change in indentation may also signal a break between paragraphs,
564except that \s-2JOVE\s0 allows the first line of a paragraph to be indented
565differently from the other lines.
566.dc "forward-s-expression" "ESC C-F"
567This moves point forward over a s-expression. If the first significant
568character after point is "(", this moves past the matching ")". If the
569character begins an identifier, this moves just past it. This is mode
570dependent, so this will move over atoms in LISP mode and C identifiers in C
571mode. \s-2JOVE\s0 also matches "{".
572.dc "forward-sentence" "ESC E"
573This moves point forward to the end of the current or next sentence.
574\s-2JOVE\s0 considers the end of a sentence to be the characters ".", "!" or
575"?" followed by a Return, or one or more spaces.
576.dc "forward-word" "ESC F"
577This moves point forward to the end of the current or next word.
578.dc "fundamental-mode" "Not Bound"
579This sets the major mode to Fundamental. This affects what \s-2JOVE\s0
580considers as characters that make up words. For instance,
581Single-quote is not part of a word in Fundamental mode, but is in Text
582mode.
583.dc "goto-line" "ESC G"
584If a numeric argument is supplied point moves to the beginning of that
585line. If no argument is supplied, point remains where it is. This is
586so you don't lose your place unintentionally, by accidentally hitting
587the "G" instead of "F".
588.dc "grind-s-expr" "Not Bound"
589When point is positioned on a "(", this re-indents that LISP expression.
590.dc "grow-window" "C-X ^"
591This makes the current window one line bigger. This only works when
592there is more than one window and provided there is room to change the
593size.
594.dc "paren-flash" ") } ]"
595This handles the C mode curly brace indentation, the Lisp mode paren
596indentation, and the Show Match mode paren/curly brace/square bracket
597flashing.
598.dc "handle-tab" "Tab"
599This handles indenting to the "right" place in C and Lisp mode, and
600just inserts itself in Text mode.
601.dc "i-search-forward" "Not Bound"
602Incremental search. Like search-forward except that instead of prompting
603for a string and searching for that string all at once, it accepts the string
604one character at a time. After each character you type as part of the search
605string, it searches for the entire string so far. When you like what it
606found, type the Return key to finish the search. You can take back a
607character with Rubout and the search will back up to the position before
608that character was typed. C-G aborts the search.
609.dc "i-search-reverse" "Not Bound"
610Incremental search. Like search-reverse except that instead of prompting
611for a string and searching for that string all at once, it accepts the string
612one character at a time. After each character you type as part of the search
613string, it searches for the entire string so far. When you like what it
614found, type the Return key to finish the search. You can take back a
615character with Rubout and the search will back up to the position before
616that character was typed. C-G aborts the search.
617.dc "insert-file" "C-X C-I"
618This inserts a specified file into the current buffer at point. Point
619is positioned at the beginning of the inserted file.
620.dc "internal-tabstop" "(variable)"
621The number of spaces \s-2JOVE\s0 should print when it displays a tab character.
622The default value is 8.
623.dc "interrupt-process" "Not Bound"
624This sends the interrupt character (usually C-C) to the interactive process
625in the current buffer. This is only for versions of \s-2JOVE\s0 that have the
626interactive processes feature. This only works when you are inside a buffer
627that's attached to a process.
628.dc "i-shell" "Not Bound"
629This starts up an interactive shell in a window. \s-2JOVE\s0 uses "shell-1"
630as the name of the buffer in which the interacting takes place. See
631the manual for information on how to use interactive processes.
632.dc "i-shell-command" "Not Bound"
633This is like
634.IQ shell-command
635except it lets you continue with your
636editing while the command is running. This is really useful for long
637running commands with sporadic output. See the manual for information
638on how to use interactive processes.
639.dc "kill-next-word" "ESC D"
640This kills the text from point to the end of the current or next word.
641.dc "kill-previous-word" "ESC Rubout"
642This kills the text from point to the beginning of the current or
643previous word.
644.dc "kill-process" "Not Bound"
645This command prompts for a buffer name or buffer number (just as
646select-buffer does) and then sends the process in that buffer a
647kill signal (9).
648.dc "kill-region" "C-W"
649This deletes the text in the region and saves it on the kill ring.
650Commands that delete text but save it on the kill ring all have the
651word "kill" in their names. Type "C-Y" to yank back the most recent
652kill.
653.dc "kill-s-expression" "ESC C-K"
654This kills the text from point to the end of the current or next
655s-expression.
656.dc "kill-some-buffers" "Not Bound"
657This goes through all the existing buffers and asks whether or not to kill
658them. If you decide to kill a buffer, and it turns out that the buffer is
659modified, \s-2JOVE\s0 will offer to save it first. This is useful for when \s-2JOVE\s0
660runs out of memory to store lines (this only happens on PDP-11's) and you
661have lots of buffers that you are no longer using.
662.dc "kill-to-beginning-of-sentence" "C-X Rubout"
663This kills from point to the beginning of the current or previous
664sentence.
665.dc "kill-to-end-of-line" "C-K"
666This kills from point to the end of the current line. When point is
667at the end of the line the line separator is deleted and the next line
668is joined with current one. If a numeric argument is supplied that
669many lines are killed; if the argument is negative that many lines
670.IQ before
671point are killed; if the argument is zero the text from point
672to the beginning of the line is killed.
673.dc "kill-to-end-of-sentence" "ESC K"
674This kills from point to the end of the current or next sentence. If a
675negative numeric argument is supplied it kills from point to the
676beginning of the current or previous sentence.
677.dc "left-margin" "(variable)"
678This is how far lines should be indented when auto-indent mode is on,
679or when the
680.IQ newline-and-indent
681command is run (usually by typing
682LineFeed). It is also used by fill-paragraph and auto-fill mode.
683If the value is zero (the default) then the left margin is determined
684from the surrounding lines.
685.dc "left-margin-here" "Not Bound"
686This sets the
687.IQ left-margin
688variable to the current position of
689point. This is an easy way to say, "Make the left margin begin here,"
690without having to count the number of spaces over it actually is.
691.dc "lisp-mode" "Not Bound"
692This turns on Lisp mode. Lisp mode is one of four mutually exclusive major
693modes: Fundamental, Text, C, and Lisp. In Lisp mode, the characters Tab
694and ) are treated specially, similar to the way they are treated in C mode.
695Also, Auto Indent mode is affected, and handled specially.
696.dc "list-buffers" "C-X C-B"
697This types out a list containing various information about each buffer.
698Right now that list looks like this:
699.DS
700.ta \w'NO111'u +\w'Lines1'u +\w'Scratch111'u +\w'*1'u +\w'commands.doc111'u
701\ (* means the buffer needs saving)
702\ NO Lines Type Name File
703\ -- ----- ---- ---- ----
704\ 1 1 File Main [No file]
705\ 2 1 Scratch * Minibuf [No file]
706\ 3 519 File * commands.doc commands.doc
707.DE
708The first column lists the buffer's number. When \s-2JOVE\s0 prompts for a
709buffer name you can either type in the full name, or you can simply
710type the buffer's number. The second column is the number of lines in
711the buffer. The third says what type of buffer. There are four
712types: "File", "Scratch", "Process", "I-Process". "File" is simply a
713buffer that holds a file; "Scratch" is for buffers that \s-2JOVE\s0 uses
714internally; "Process" is one that holds the output from a UNIX
715command; "I-Process" is one that has an interactive process attached to
716it. The next column contains the name of the buffer. And the last
717column is the name of the file that's attached to the buffer. In this
718case, both Minibuf and commands.doc have been changed but not yet
719saved. In fact Minibuf won't be saved since it's an internal \s-2JOVE\s0
720buffer that I don't even care about.
721.dc "list-processes" "Not Bound"
722This makes a list somewhat like "list-buffers" does, except its
723list consists of the current interactive processes. Right now the list
724looks like this:
725.DS
726.ta \w'shell-111111111111'u +\w'Running1111111111'u
727\ Buffer Status Command name
728\ ------ ------ ------- ----
729\ shell-1 Running i-shell
730\ fgrep Done fgrep -n Buffer *.c
731.DE
732The first column has the name of the buffer to which the process is
733attached. The second has the status of the process; if a process has
734exited normally the status is "Done" as in fgrep; if the process
735exited with an error the status is "Exit N" where N is the value of
736the exit code; if the process was killed by some signal the status is
737the name of the signal that was used; otherwise the process is
738running. The last column is the name of the command that is being run.
739.dc "mailbox" "(variable)"
740Set this to the full pathname of your mailbox. \s-2JOVE\s0 will look here to
741decide whether or not you have any unread mail. This defaults to
742/usr/spool/mail/$USER, where $USER is set to your login name.
743.dc "mail-check-frequency" "(variable)"
744This is how often (in seconds) \s-2JOVE\s0 should check your mailbox for
745incoming mail. See also the
746.IQ mailbox
747and
748.IQ disable-biff
749variables.
750.dc "make-backup-files" "(variable)"
751If this variable is set, then whenever \s-2JOVE\s0 writes out a file, it will
752move the previous version of the file (if there was one) to "#filename".
753This is often convenient if you save a file by accident. The default
754value of this variable is "off".
755.IQ Note:
756this is an optional part of
757\s-2JOVE\s0, and your guru may not have it enabled, so it may not work.
758.dc "make-buffer-unmodified" "ESC ~"
759This makes \s-2JOVE\s0 think the selected buffer hasn't been changed even if
760it has. Use this when you accidentally change the buffer but don't
761want it considered changed. Watch the mode line to see the * disappear
762when you use this command.
763.dc "make-macro-interactive" "Not Bound"
764This command is meaningful only while you are defining a keyboard macro.
765Ordinarily, when a command in a macro definition requires a trailing
766text argument (file name, search string, etc.), the argument you
767supply becomes part of the macro definition. If you want to be able
768to supply a different argument each time the macro is used, then while
769you are defining it, you should give the make-macro-interactive
770command just before typing the argument which will be used during the
771definition process. Note: you must bind this command to a key in
772order to use it; you can't say ESC X make-macro-interactive.
773.dc "mark-threshold" "(variable)"
774This variable contains the number of lines point may move by before
775the mark is set. If, in a search or something, point moves by more
776than this many lines, the mark is set so that you may return easily.
777The default value of this variable is 22 (one screenful, on most
778terminals).
779.dc "marks-should-float" "(variable)"
780When this variable is "off", the position of a mark is remembered as a line
781number within the buffer and a character number within the line. If you add
782or delete text before the mark, it will no longer point to the text you
783marked originally because that text is no longer at the same line and
784character number. When this variable is "on", the position of a mark is
785adjusted to compensate for each insertion and deletion. This makes marks
786much more sensible to use, at the cost of slowing down insertion and
787deletion somewhat. The default value is "on".
788.dc "match-regular-expressions" "(variable)"
789When set, \s-2JOVE\s0 will match regular expressions in search patterns.
790This makes special the characters ., *, [, ], ^, and $, and the two-character
791sequences \e<, \e>, \e\|{, \e\|} and \e\||.
792See the
793.IQ ed(1)
794manual page, the tutorial "Advanced Editing in
795.UX
796", and the section above "Searching with Regular Expressions"
797for more information.
798.dc "meta-key" "(variable)"
799You should set this variable to "on" if your terminal has a real Meta
800key.
801If your terminal has such a key, then a key sequence like ESC Y can
802be entered by holding down Meta and typing Y.
803.dc "mode-line" "(variable)"
804The format of the mode line can be determined by setting this variable.
805The items in the line are specified using a printf(3) format, with the
806special things being marked as "%x". Digits may be used between the
807'%' and the 'x' to mean repeat that many times.
808\&'x' may be:
809.DS I
810.ta .5i 1i 1.5i
811 C check for new mail, and displays "[New mail]" if there
812 is any (see also the mail-check-interval and disable-biff
813 variables)
814 F the current file name, with leading path stripped
815 M the current list of major and minor modes
816 b the current buffer name
817 c the fill character (-)
818 d the current directory
819 e end of string--this must be the last item in the string
820 f the current file name
821 l the current load average (updated automatically)
822 m the buffer-modified symbol (*)
823 n the current buffer number
824 s space, but only if previous character is not a space
825 t the current time (updated automatically)
826 [ ] the square brackets printed when in a recursive edit
827 ( ) items enclosed in %( ... %) will only be printed on
828 the bottom mode line, rather than copied when the
829 window is split
830.DE
831In addition, any other character is simply copied into the mode line.
832Characters may be escaped with a backslash. To get a feel for all
833this, try typing "ESC X print mode-line" and compare the result with
834your current mode line.
835.dc "mode-line-should-standout" "(variable)"
836If set, the mode line will be printed in reverse video, if your
837terminal supports it. The default for this variable is "off".
838.dc "name-keyboard-macro" "Not Bound"
839This copies the keyboard macro and gives it a name freeing up the
840keyboard macro so you can define some more. Keyboard macros with
841their own names can be bound to keys just like built in commands
842can. See the
843.IQ read-macros-file-file
844and
845.IQ write-macros-to-file
846commands.
847.dc "newline" "Return"
848This divides the current line at point moving all the text to the
849right of point down onto the newly created line. Point moves down to
850the beginning of the new line.
851.dc "newline-and-backup" "C-O"
852This divides the current line at point moving all the text to the
853right of point down onto the newly created line. The difference
854between this and "newline" is that point does not move down to the
855beginning of the new line.
856.dc "newline-and-indent" "LineFeed"
857This behaves the same was as Return does when in Auto Indent mode.
858This makes Auto Indent mode obsolete but it remains in the name of
859backward compatibility.
860.dc "next-error" "C-X C-N"
861This moves to the next error in the list of errors that were parsed
862with
863.IQ parse-errors
864or
865.IQ parse-special-errors.
866In one window the list
867of errors is shown with the current one always at the top. In another
868window is the file that contains the error. Point is positioned in
869this window on the line where the error occurred.
870.dc "next-line" "C-N"
871This moves down to the next line.
872.dc "next-page" "C-V"
873This displays the next page of the buffer by taking the bottom line of
874the window and redrawing the window with it at the top. If there isn't
875another page in the buffer \s-2JOVE\s0 rings the bell. If a numeric argument
876is supplied the screen is scrolled up that many lines; if the argument
877is negative the screen is scrolled down.
878.dc "next-window" "C-X N"
879This moves into the next window. Windows live in a circular list so
880when you're in the bottom window and you try to move to the next one
881you are moved to the top window. It is an error to use this command
882with only one window.
883.dc "number-lines-in-window" "Not Bound"
884This displays the line numbers for each line in the buffer being
885displayed. The number isn't actually part of the text; it's just
886printed before the actual buffer line is. To turn this off you run
887the command again; it toggles.
888.dc "over-write-mode" "Not Bound"
889This turns Over Write mode on (or off if it's currently on) in the selected
890buffer. When on, this mode changes the way the self-inserting characters
891work. Instead of inserting themselves and pushing the rest of the line over
892to the right, they replace or over-write the existing character. Also,
893Rubout replaces the character before point with a space instead of deleting
894it. When Over Write mode is on "OvrWt" is displayed on the mode line.
895.dc "page-next-window" "ESC C-V"
896This displays the next page in the next window. This is exactly the
897same as "C-X N C-V C-X P".
898.dc "paren-flash-delay" "(variable)"
899How long, in tenths of seconds, \s-2JOVE\s0 should pause on a matching
900parenthesis in
901.IQ Show Match
902mode. The default is 5.
903.dc "parse-errors" "Not Bound"
904This takes the list of C compilation errors (or output from another program
905in the same format) in the current buffer and parses them for use with the
906.IQ next-error
907and
908.IQ previous-error
909and
910.IQ current-error
911commands.
912This is a very useful tool and helps with compiling C programs and when used
913in conjunction with the "grep" UNIX command very helpful in making changes
914to a bunch of files. This command understands errors produced by cc, cpp,
915and lint; plus any other program with the same format (e.g., "grep -n").
916\s-2JOVE\s0 visits each file that has an error and remembers each line that
917contains an error. It doesn't matter if later you insert or delete
918some lines in the buffers containing errors; \s-2JOVE\s0 remembers where
919they are regardless.
920.IQ next-error
921is automatically executed after one
922of the parse commands, so you end up at the first error.
923.dc "parse-special-errors" "Not Bound"
924This parses errors in an unknown format. Error parsing works with
925regular expression search strings with \\('s around the the file name
926and the line number. So, you can use
927.IQ parse-special-errors
928to parse
929lines that are in a slightly different format by typing in your own
930search string. If you don't know how to use regular expressions you
931can't use this command.
932.dc "parse-spelling-errors-in-buffer" "Not Bound"
933This parses a list of words in the current buffer and looks them up in
934another buffer that you specify. This will probably go away soon.
935.dc "pause-jove" "ESC S"
936This stops \s-2JOVE\s0 and returns control to the parent shell. This
937only works for users using the C-shell, and on systems that have the
938job control facility. To return to \s-2JOVE\s0 you type "fg" to the C-shell.
939.dc "physical-tabstop" "(variable)"
940How many spaces your terminal prints when it prints a tab character.
941.dc "pop-mark" "Not Bound"
942This gets executed when you run
943.IQ set-mark
944with a numeric argument.
945\s-2JOVE\s0 remembers the last 16 marks and you use
946.IQ pop-mark
947to go
948backward through the ring of marks. If you execute "
949.IQ pop-mark
950enough
951times you will eventually get back to where you started.
952.dc "popd" "Not Bound"
953This pops one entry off the directory stack. Entries are pushed with
954the
955.IQ pushd
956command. The names were stolen from the C-shell and the
957behavior is the same.
958.dc "previous-error" "C-X C-P"
959This is the same as
960.IQ next-error
961except it goes to the previous error.
962See
963.IQ next-error
964for documentation.
965.dc "previous-line" "C-P"
966This moves up to the previous line.
967.dc "previous-page" "ESC V"
968This displays the previous page of the current buffer by taking the top
969line and redrawing the window with it at the bottom. If a numeric
970argument is supplied the screen is scrolled down that many lines; if
971the argument is negative the screen is scrolled up.
972.dc "previous-window" "C-X P and C-X O"
973This moves into the next window. Windows live in a circular list so
974when you're in the top window and you try to move to the previous one
975you are moved to the bottom window. It is an error to use this command
976with only one window.
977.dc "print" "Not Bound"
978This prints the value of a \s-2JOVE\s0 variable.
979.dc "print-message" "Not Bound"
980This command prompts for a message, and then prints it on the bottom
981line where \s-2JOVE\s0 messages are printed.
982.dc "process-bind-to-key" "Not Bound"
983This command is identical to bind-to-key, except that it only affects
984your bindings when you are in a buffer attached to a process. When
985you enter the process buffer, any keys bound with this command will
986automatically take their new values. When you switch to a non-process
987buffer, the old bindings for those keys will be restored. For example,
988you might want to execute
989.DS I
990process-bind-to-key stop-process ^Z
991process-bind-to-key interrupt-process ^C
992.DE
993Then, when you start up an interactive process and switch into that
994buffer, C-Z will execute stop-process and C-C will execute interrupt-
995process. When you switch back to a non-process buffer, C-Z will go
996back to executing scroll-up (or whatever you have it bound to).
997.dc "process-newline" "Return"
998This this only gets executed when in a buffer that is attached to an
999interactive-process. \s-2JOVE\s0 does two different things depending on where
1000you are when you hit Return. When you're at the end of the I-Process
1001buffer this does what Return normally does, except it also makes the
1002line available to the process. When point is positioned at some other
1003position that line is copied to the end of the buffer (with the prompt
1004stripped) and point is moved there with it, so you can then edit that
1005line before sending it to the process. This command
1006.IQ must
1007be bound
1008to the key you usually use to enter shell commands (Return), or else
1009you won't be able to enter any.
1010.dc "process-prompt" (variable)
1011What a prompt looks like from the i-shell and i-shell-command
1012processes. The default is "% ", the default C-shell prompt. This is
1013actually a regular expression search string. So you can set it to be
1014more than one thing at once using the \\| operator. For instance, for
1015LISP hackers, the prompt can be
1016.DS
1017"% \\|-> \\|<[0-9]>: ".
1018.DE
1019.dc "push-shell" "Not Bound"
1020This spawns a child shell and relinquishes control to it. This works
1021on any version of UNIX, but this isn't as good as
1022.IQ pause-jove
1023because
1024it takes time to start up the new shell and you get a brand new
1025environment every time. To return to \s-2JOVE\s0 you type "C-D".
1026.dc "pushd" "Not Bound"
1027This pushes a directory onto the directory stack and cd's into it. It
1028asks for the directory name but if you don't specify one it switches
1029the top two entries no the stack. It purposely behaves the same as
1030C-shell's
1031.IQ pushd.
1032.dc "pwd" "Not Bound"
1033This prints the working directory.
1034.dc "quadruple-numeric-argument" "C-U"
1035This multiplies the numeric argument by 4. So, "C-U C-F" means
1036forward 4 characters and "C-U C-U C-N" means down 16 lines.
1037.dc "query-replace-string" "ESC Q"
1038This replaces the occurrences of a specified string with a specified
1039replacement string. When an occurrence is found point is moved to it
1040and then \s-2JOVE\s0 asks what to do. The options are:
1041.DS I
1042.ta \w'Rubout111'u
1043Space to replace this occurrence and go on to the next one.
1044Period to replace this occurrence and then stop.
1045Rubout to skip this occurrence and go on to the next one.
1046C-R to enter a recursive edit. This lets you temporarily
1047 suspend the replace, do some editing, and then return
1048 to continue where you left off. To continue with the
1049 Query Replace type "C-X C-C" as if you were trying to
1050 exit \s-2JOVE\s0. Normally you would but when you are in a
1051 recursive edit all it does is exit that recursive
1052 editing level.
1053C-W to delete the matched string and then enter a recursive
1054 edit.
1055U to undo the last replacement.
1056P or ! to go ahead and replace the remaining occurrences without
1057 asking.
1058Return to stop the Query Replace.
1059.DE
1060The search for occurrences starts at point and goes to the end of the
1061buffer, so to replace in the entire buffer you must first go to the
1062beginning.
1063.dc "quit-process" "Not Bound"
1064This is the same as typing "C-\\" (the Quit character) to a normal UNIX
1065process, except it sends it to the current process in \s-2JOVE\s0. This is
1066only for versions of \s-2JOVE\s0 that have the interactive processes feature.
1067This only works when you are inside a buffer that's attached to a
1068process.
1069.dc "quoted-insert" "C-Q"
1070This lets you insert characters that normally would be executed as
1071other \s-2JOVE\s0 commands. For example, to insert "C-F" you type "C-Q C-F".
1072.dc "read-word-abbrev-file" "Not Bound"
1073This reads a specified file that contains a bunch of abbreviation
1074definitions, and makes those abbreviations available. If the selected
1075buffer is not already in Word Abbrev mode this command puts it in
1076that mode.
1077.dc "read-macros-from-file" "Not Bound"
1078This reads the specified file that contains a bunch of macro
1079definitions, and defines all the macros that were currently defined
1080when the file was created. See
1081.IQ write-macros-to-file
1082to see how to
1083save macros.
1084.dc "redraw-display" "C-L"
1085This centers the line containing point in the window. If that line is
1086already in the middle the window is first cleared and then redrawn.
1087If a numeric argument is supplied, the line is positioned at that
1088offset from the top of the window. For example, "ESC 0 C-L" positions
1089the line containing point at the top of the window.
1090.dc "recursive-edit" "Not Bound"
1091This enters a recursive editing level. This isn't really very
1092useful. I don't know why it's available for public use. I think I'll
1093delete it some day.
1094.dc "rename-buffer" "Not Bound"
1095This lets you rename the current buffer.
1096.dc "replace-in-region" "Not Bound"
1097This is the same as
1098.IQ replace-string
1099except that it is restricted
1100to occurrences between Point and Mark.
1101.dc "replace-string" "ESC R"
1102This replaces all occurrences of a specified string with a specified
1103replacement string. This is just like
1104.IQ query-replace-string
1105except
1106it replaces without asking.
1107.dc "right-margin" "(variable)"
1108Where the right margin is for
1109.IQ "Auto Fill"
1110mode and the
1111.IQ justify-paragraph
1112and
1113.IQ justify-region
1114commands. The default is 78.
1115.dc "right-margin-here" "Not Bound"
1116This sets the
1117.IQ right-margin
1118variable to the current position of
1119point. This is an easy way to say, "Make the right margin begin here,"
1120without having to count the number of spaces over it actually is.
1121.dc "save-file" "C-X C-S"
1122This saves the current buffer to the associated file. This makes your
1123changes permanent so you should be sure you really want to. If the
1124buffer has not been modified
1125.IQ save-file
1126refuses to do the save. If
1127you really do want to write the file you can use "C-X C-W" which
1128executes
1129.IQ write-file.
1130.dc "scroll-down" "ESC Z"
1131This scrolls the screen one line down. If the line containing point
1132moves past the bottom of the window point is moved up to the center of
1133the window. If a numeric argument is supplied that many lines are
1134scrolled; if the argument is negative the screen is scrolled up
1135instead.
1136.dc "scroll-step" "(variable)"
1137How many lines should be scrolled if the
1138.IQ previous-line
1139or
1140.IQ next-line
1141commands move you off the top or bottom of the screen. You
1142may wish to decrease this variable if you are on a slow terminal.
1143.dc "scroll-up" "C-Z"
1144This scrolls the screen one line up. If the line containing point
1145moves past the top of the window point is moved down to the center of
1146the window. If a numeric argument is supplied that many lines are
1147scrolled; if the argument is negative the screen is scrolled down
1148instead.
1149.dc "search-exit-char" "(variable)"
1150Set this to the character you want to use to exit incremental search.
1151The default is Newline, which makes i-search compatible with normal
1152string search.
1153.dc "search-forward" "C-S"
1154This searches forward for a specified search string and positions
1155point at the end of the string if it's found. If the string is not
1156found point remains unchanged. This searches from point to the end of
1157the buffer, so any matches before point will be missed.
1158.dc "search-reverse" "C-R"
1159This searches backward for a specified search string and positions
1160point at the beginning if the string if it's found. If the string is
1161not found point remains unchanged. This searches from point to the
1162beginning of the buffer, so any matches after point will be missed.
1163.dc "select-buffer" "C-X B"
1164This selects a new or already existing buffer making it the current
1165one. You can type either the buffer name or number. If you type in
1166the name you need only type the name until it is unambiguous, at which
1167point typing Escape or Space will complete it for you. If you want to
1168create a new buffer you can type Return instead of Space, and a new
1169empty buffer will be created.
1170.dc "self-insert" "Most Printing Characters"
1171This inserts the character that invoked it into the buffer at point.
1172Initially all but a few of the printing characters are bound to
1173.IQ self-insert.
1174.dc "send-typeout-to-buffer" "(variable)"
1175When this is set \s-2JOVE\s0 will send output that normally overwrites the
1176screen (temporarily) to a buffer instead. This affects commands like
1177.IQ list-buffers,
1178.IQ list-processes,
1179and other commands that use command
1180completion. The default value is "off".
1181.dc "set" "Not Bound"
1182This gives a specified variable a new value. Occasionally you'll see
1183lines like "set this variable to that value to do this". Well, you
1184use the
1185.IQ set
1186command to do that.
1187.dc "set-mark" "C-@"
1188This sets the mark at the current position in the buffer. It prints
1189the message "Point pushed" on the message line. It says that instead
1190of "Mark set" because when you set the mark the previous mark is still
1191remembered on a ring of 16 marks. So "Point pushed" means point is
1192pushed onto the ring of marks and becomes the value of "the mark".
1193To go through the ring of marks you type "C-U C-@", or execute the
1194.IQ pop-mark
1195command. If you type this enough times you will get back
1196to where you started.
1197.dc "shell" "(variable)"
1198The shell to be used with all the shell commands command. If your SHELL
1199environment variable is set, it is used as the value of
1200.IQ shell;
1201otherwise "/bin/csh" is the default.
1202.dc "shell-command" "C-X !"
1203This runs a UNIX command and places the output from that command in a
1204buffer. \s-2JOVE\s0 creates a buffer that matches the name of the command
1205you specify and then attaches that buffer to a window. So, when you
1206have only one window running this command will cause \s-2JOVE\s0 to split the
1207window and attach the new buffer to that window. Otherwise, \s-2JOVE\s0
1208finds the most convenient of the available windows and uses that one
1209instead. If the buffer already exists it is first emptied, except that if
1210it's holding a file, not some output from a previous command, \s-2JOVE\s0
1211prints an error message and refuses to execute the command. If you
1212really want to execute the command you should delete that buffer
1213(saving it first, if you like) or use
1214.IQ shell-command-to-buffer,
1215and
1216try again.
1217.dc "shell-command-to-buffer" "Not Bound"
1218This is just like
1219.IQ shell-command
1220except it lets you specify the
1221buffer to use instead of \s-2JOVE\s0.
1222.dc "shell-flags" "(variable)"
1223This defines the flags that are passed to shell commands. The default is
1224"-c". See the
1225.IQ shell
1226variable to change the default shell.
1227.dc "show-match-mode" "Not Bound"
1228This turns on Show Match mode (or off if it's currently on) in the
1229selected buffer. This changes "}" and ")" so that when they are typed
1230the are inserted as usual, and then the cursor flashes back to the
1231matching "{" or "(" (depending on what was typed) for about half a
1232second, and then goes back to just after the "}" or ")" that invoked
1233the command. This is useful for typing in complicated expressions in
1234a program. You can change how long the cursor sits on the matching
1235paren by setting the "paren-flash-delay" variable in tenths of a
1236second. If the matching "{" or "(" isn't visible nothing happens.
1237.dc "shrink-window" "Not Bound"
1238This makes the current window one line shorter, if possible. Windows
1239must be at least 2 lines high, one for the text and the other for the
1240mode line.
1241.dc "source" "Not Bound"
1242This reads a bunch of \s-2JOVE\s0 commands from a file. The format of the
1243file is the same as that in your initialization file (your ".joverc")
1244in your main directory. There should be one command per line and it
1245should be as though you typed "ESC X" while in \s-2JOVE\s0. For example,
1246here's part of my initialization file:
1247.DS I
1248bind-to-key i-search-reverse ^R
1249bind-to-key i-search-forward ^S
1250bind-to-key pause-jove ^[S
1251.DE
1252What they do is make "C-R" call the
1253.IQ i-search-reverse
1254command and
1255"C-S" call
1256.IQ i-search-forward
1257and "ESC S" call
1258.IQ pause-jove.
1259.dc "spell-buffer" "Not Bound"
1260This runs the current buffer through the UNIX
1261.IQ spell
1262program and places
1263the output in buffer "Spell". Then \s-2JOVE\s0 lets you edit the list of
1264words, expecting you to delete the ones that you don't care about, i.e., the
1265ones you know are spelled correctly. Then the
1266.IQ parse-spelling-errors-in-buffer
1267command comes along and finds all the
1268misspelled words and sets things up so the error commands work.
1269.dc "split-current-window" "C-X 2"
1270This splits the current window into two equal parts (providing the
1271resulting windows would be big enough) and displays the selected
1272buffer in both windows. Use "C-X 1" to go back to 1 window mode.
1273.dc "start-remembering" "C-X ("
1274This starts remembering your key strokes in the Keyboard macro. To
1275stop remembering you type "C-X )". Because of a bug in \s-2JOVE\s0 you can't
1276stop remembering by typing "ESC X stop-remembering";
1277.IQ stop-remembering
1278must be bound to "C-X )" in order to make things work correctly. To
1279execute the remembered key strokes you type "C-X E" which runs the
1280.IQ execute-keyboard-macro
1281command.
1282Sometimes you may want a macro to accept different input each time it runs.
1283To see how to do this, see the
1284.IQ make-macro-interactive
1285command.
1286.dc "stop-process" "Not Bound"
1287This sends a stop signal (C-Z, for most people) to the current process.
1288It only works if you have the interactive process feature, and you are
1289in a buffer attached to a process.
1290.dc "stop-remembering" "C-X )"
1291This stop the definition of the keyboard macro. Because of a bug in
1292\s-2JOVE\s0, this must be bound to "C-X )". Anything else will not work
1293properly.
1294.dc "string-length" "Not Bound"
1295This prints the number of characters in the string that point sits in.
1296Strings are surrounded by double quotes. \s-2JOVE\s0 knows that "\\007" is
1297considered a single character, namely "C-G", and also knows about
1298other common ones, like "\\r" (Return) and "\\n" (LineFeed). This is
1299mostly useful only for C programmers.
1300.dc "suspend-jove" "ESC S"
1301This is a synonym for
1302.IQ pause-jove.
1303.dc "sync-frequency" "(variable)"
1304The temporary files used by \s-2JOVE\s0 are forced out to disk every
1305.IQ sync-frequency
1306modifications. The default is 50, which really makes
1307good sense. Unless your system is very unstable, you probably
1308shouldn't fool with this.
1309.dc "tag-file" "(variable)"
1310This the name of the file in which \s-2JOVE\s0 should look up tag
1311definitions. The default value is "./tags".
1312.dc "text-mode" "Not Bound"
1313This sets the major mode to Text. Currently the other modes are
1314Fundamental, C and Lisp mode.
1315.dc "transpose-characters" "C-T"
1316This switches the character before point with the one after point, and
1317then moves forward one. This doesn't work at the beginning of the
1318line, and at the end of the line it switches the two characters before
1319point. Since point is moved forward, so that the character that was
1320before point is still before point, you can use "C-T" to drag a
1321character down the length of a line. This command pretty quickly
1322becomes very useful.
1323.dc "transpose-lines" "C-X C-T"
1324This switches the current line with the one above it, and then moves
1325down one so that the line that was above point is still above point.
1326This, like
1327.IQ transpose-characters,
1328can be used to drag a line down a page.
1329.dc "unbind-key" "Not Bound"
1330Use this to unbind
1331.IQ any
1332key sequence. You can use this to unbind even a
1333prefix command, since this command does not use "key-map completion". For
1334example, "ESC X unbind-key ESC [" unbinds the sequence "ESC [". This is
1335useful for "turning off" something set in the system-wide ".joverc" file.
1336.dc "update-time-frequency" "(variable)"
1337How often the mode line is updated (and thus the time and load
1338average, if you display them). The default is 30 seconds.
1339.dc "use-i/d-char" "(variable)"
1340If your terminal has insert/delete character capability you can tell \s-2JOVE\s0
1341not to use it by setting this to "off". In my opinion it is only worth using
1342insert/delete character at low baud rates. WARNING: if you set this to
1343"on" when your terminal doesn't have insert/delete character capability,
1344you will get weird (perhaps fatal) results.
1345.dc "version" "Not Bound"
1346Displays the version number of this \s-2JOVE\s0.
1347.dc "visible-bell" "(variable)"
1348Use the terminal's visible bell instead of beeping. This is set
1349automatically if your terminal has the capability.
1350.dc "visible-spaces-in-window" "Not Bound"
1351This displays an underscore character instead of each space in the
1352window and displays a greater-than followed by spaces for each tab
1353in the window. The actual text in the buffer is not changed; only
1354the screen display is affected. To turn this off you run the command
1355again; it toggles.
1356.dc "visit-file" "C-X C-V"
1357This reads a specified file into the current buffer replacing the old
1358text. If the buffer needs saving \s-2JOVE\s0 will offer to save it for you.
1359Sometimes you use this to start over, say if you make lots of changes
1360and then change your mind. If that's the case you don't want \s-2JOVE\s0 to
1361save your buffer and you answer "NO" to the question.
1362.dc "window-find" "C-X 4"
1363This lets you select another buffer in another window three
1364different ways. This waits for another character which can be one of
1365the following:
1366.DS I
1367.ta .5i 1i 1.5i
1368T Finds a tag in the other window.
1369F Finds a file in the other window.
1370B Selects a buffer in the other window.
1371.DE
1372This is just a convenient short hand for "C-X 2" (or "C-X O" if there are
1373already two windows) followed by the appropriate sequence for invoking each
1374command. With this, though, there isn't the extra overhead of having to
1375redisplay. In addition, you don't have to decide whether to type "C-X 2" or
1376"C-X O" since "C-X 4" does the right thing.
1377.dc "word-abbrev-mode" "Not Bound"
1378This turns on Word Abbrev mode (or off if it's currently on) in the
1379selected buffer. Word Abbrev mode lets you specify a word (an
1380abbreviation) and a phrase with which \s-2JOVE\s0 should substitute the
1381abbreviation. You can use this to define words to expand into long
1382phrases, e.g., "jove" can expand into "Jonathan's Own Version of
1383Emacs"; another common use is defining words that you often misspell
1384in the same way, e.g., "thier" => "their" or "teh" => "the". See
1385the information on the
1386.IQ auto-case-abbrev
1387variable.
1388.sp 1
1389There are two kinds of abbreviations: mode specific and global. If
1390you define a Mode specific abbreviation in C mode, it will expand only
1391in buffers that are in C mode. This is so you can have the same
1392abbreviation expand to different things depending on your context.
1393Global abbreviations expand regardless of the major mode of the
1394buffer. The way it works is this: \s-2JOVE\s0 looks first in the mode
1395specific table, and then in the global table. Whichever it finds it
1396in first is the one that's used in the expansion. If it doesn't find
1397the word it is left untouched.
1398\s-2JOVE\s0 tries to expand words as they are typed, when you type a
1399punctuation character or Space or Return. If you are in Auto Fill
1400mode the expansion will be filled as if you typed it yourself.
1401.dc "wrap-search" "(variable)"
1402If set, searches will "wrap around" the ends of the buffer instead
1403of stopping at the bottom or top. The default is "off".
1404.dc "write-files-on-make" "(variable)"
1405When set, all modified files will be written out before calling
1406make when the
1407.IQ compile-it
1408command is executed. The default is "on".
1409.dc "write-word-abbrev-file" "Not Bound"
1410This writes the currently defined abbreviations to a specified file.
1411They can be read back in and automatically defined with
1412.IQ read-word-abbrev-file.
1413.dc "write-file" "C-X C-W"
1414This saves the current buffer to a specified file, and then makes that
1415file the default file name for this buffer. If you specify a file
1416that already exists you are asked to confirm over-writing it.
1417.dc "write-macros-to-file" "Not Bound"
1418This writes the currently defined macros to a specified file. The
1419macros can be read back in with
1420.IQ read-macros-from-file
1421so you can
1422define macros and still use them in other instantiations of \s-2JOVE\s0.
1423.dc "write-modified-files" "C-X C-M"
1424This saves all the buffers that need saving. If you supply a numeric
1425argument it asks for each buffer whether you really want to save it.
1426.dc "write-region" "Not Bound"
1427This writes the text in the region to a specified file. If the file
1428already exists you are asked to confirm over-writing it.
1429.dc "yank" "C-Y"
1430This undoes the last kill command. That is, it inserts the killed
1431text at point. When you do multiple kill commands in a row, they are
1432merged so that yanking them back with "C\-Y" yanks back all of them.
1433.dc "yank-pop" "ESC Y"
1434This yanks back previous killed text. \s-2JOVE\s0 has a kill ring on which
1435the last 10 kills are stored.
1436.IQ Yank
1437yanks a copy of the text at the
1438front of the ring. If you want one of the last ten kills you use "ESC
1439Y" which rotates the ring so another different entry is now at the
1440front. You can use "ESC Y" only immediately following a "C-Y" or
1441another "ESC Y". If you supply a negative numeric argument the ring
1442is rotated the other way. If you use this command enough times in a
1443row you will eventually get back to where you started. Experiment
1444with this. It's extremely useful.