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