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