|
|
1.1 root 1: .dc "make-backup-files" "(variable)"
2: If this variable is set, then whenever \s-2JOVE\s0 writes out a file, it will
3: move the previous version of the file (if there was one) to "#filename".
4: This is often convenient if you save a file by accident. The default
5: value of this variable is "off".
6: .IQ Note:
7: this is an optional part of
8: \s-2JOVE\s0, and your guru may not have it enabled, so it may not work.
9: .dc "make-buffer-unmodified" "ESC ~"
10: This makes \s-2JOVE\s0 think the selected buffer hasn't been changed even if
11: it has. Use this when you accidentally change the buffer but don't
12: want it considered changed. Watch the mode line to see the * disappear
13: when you use this command.
14: .dc "make-macro-interactive" "Not Bound"
15: This command is meaningful only while you are defining a keyboard macro,
16: and when you are in the minibuffer. Ordinarily, when a command in a macro
17: definition requires a trailing text argument (file name, search string,
18: etc.), the argument you supply becomes part of the macro definition. If
19: you want to be able to supply a different argument each time the macro is
20: used, then while you are defining it, you should give the
21: make-macro-interactive command just before typing the argument which will
22: be used during the definition process. Note: you must bind this command
23: to a key in order to use it; you can't say "ESC X make-macro-interactive".
24: .dc "mark-threshold" "(variable)"
25: This variable contains the number of lines point may move by before
26: the mark is set. If, in a search or something, point moves by more
27: than this many lines, the mark is set so that you may return easily.
28: The default value of this variable is 22 (one screenful, on most
29: terminals).
30: .dc "marks-should-float" "(variable)"
31: When this variable is "off", the position of a mark is remembered as a line
32: number within the buffer and a character number within the line. If you add
33: or delete text before the mark, it will no longer point to the text you
34: marked originally because that text is no longer at the same line and
35: character number. When this variable is "on", the position of a mark is
36: adjusted to compensate for each insertion and deletion. This makes marks
37: much more sensible to use, at the cost of slowing down insertion and
38: deletion somewhat. The default value is "on".
39: .dc "match-regular-expressions" "(variable)"
40: When set, \s-2JOVE\s0 will match regular expressions in search patterns.
41: This makes special the characters ., *, [, ], ^, and $, and the two-character
42: sequences \e<, \e>, \e\|{, \e\|} and \e\||.
43: See the
44: .IQ ed(1)
45: manual page, the tutorial "Advanced Editing in
46: .UX
47: ", and the section above "Searching with Regular Expressions"
48: for more information.
49: .dc "meta-key" "(variable)"
50: You should set this variable to "on" if your terminal has a real Meta key.
51: If your terminal has such a key, then a key sequence like ESC Y can be
52: entered by holding down Meta and typing Y. NOTE: This disables
53: interrupting noninteractive shell commands.
54: .dc "mode-line" "(variable)"
55: The format of the mode line can be determined by setting this variable.
56: The items in the line are specified using a printf(3) format, with the
57: special things being marked as "%x". Digits may be used between the
58: '%' and the 'x' to mean repeat that many times.
59: \&'x' may be:
60: .DS I
61: .ta .5i 1i 1.5i
62: C check for new mail, and displays "[New mail]" if there
63: is any (see also the mail-check-interval and disable-biff
64: variables)
65: F the current file name, with leading path stripped
66: M the current list of major and minor modes
67: b the current buffer name
68: c the fill character (-)
69: d the current directory
70: e end of string--this must be the last item in the string
71: f the current file name
72: l the current load average (updated automatically)
73: mxy x, when the buffer is modified or y, when not
74: n the current buffer number
75: p interactive process status for process windows
76: s space, but only if previous character is not a space
77: t the current time (updated automatically)
78: w a '>' for windows which are scrolled left
79: [ ] the square brackets printed when in a recursive edit
80: ( ) items enclosed in %( ... %) will only be printed on
81: the bottom mode line, rather than copied when the
82: window is split
83: .DE
84: In addition, any other character is simply copied into the mode line.
85: Characters may be escaped with a backslash. To get a feel for all
86: this, try typing "ESC X print mode-line" and compare the result with
87: your current mode line.
88: .dc "mode-line-color" "(variable)"
89: This specifies the color of the modeline (PC version only). Its default
90: value is 0, and in that case it is drawn in reverse video. If it has any
91: other value, this value is used as the attribute in the Bios calls.
92: .dc "mode-line-should-standout" "(variable)"
93: If set, the mode line will be printed in reverse video, if your
94: terminal supports it. The default for this variable is "off".
95: .dc "name-kbd-macro" "Not Bound"
96: This copies the keyboard macro and gives it a name freeing up the
97: keyboard macro so you can define some more. Keyboard macros with
98: their own names can be bound to keys just like built in commands
99: can. See the
100: .IQ define-macro,
101: .IQ source
102: and
103: .IQ write-macros-to-file
104: commands.
105: .dc "newline" "Return"
106: This divides the current line at point moving all the text to the
107: right of point down onto the newly created line. Point moves down to
108: the beginning of the new line.
109: .dc "newline-and-backup" "C-O"
110: This divides the current line at point moving all the text to the
111: right of point down onto the newly created line. The difference
112: between this and "newline" is that point does not move down to the
113: beginning of the new line.
114: .dc "newline-and-indent" "LineFeed"
115: This behaves the same was as Return does when in Auto Indent mode.
116: This makes Auto Indent mode obsolete but it remains in the name of
117: backward compatibility.
118: .dc "next-error" "C-X C-N"
119: This moves to the next error in the list of errors that were parsed
120: with
121: .IQ parse-errors.
122: In one window the list of errors is shown with the current one always at
123: the top. In another window is the file that contains the error. Point
124: is positioned in this window on the line where the error occurred.
125: .dc "next-line" "C-N"
126: This moves down to the next line.
127: .dc "next-page" "C-V"
128: This displays the next page of the buffer by taking the bottom line of
129: the window and redrawing the window with it at the top. If there isn't
130: another page in the buffer \s-2JOVE\s0 rings the bell. If a numeric argument
131: is supplied the screen is scrolled up that many lines; if the argument
132: is negative the screen is scrolled down.
133: .dc "next-window" "C-X N"
134: This moves into the next window. Windows live in a circular list so
135: when you're in the bottom window and you try to move to the next one
136: you are moved to the top window. It is an error to use this command
137: with only one window.
138: .dc "number-lines-in-window" "Not Bound"
139: This displays the line numbers for each line in the buffer being
140: displayed. The number isn't actually part of the text; it's just
141: printed before the actual buffer line is. To turn this off you run
142: the command again; it toggles.
143: .dc "over-write-mode" "Not Bound"
144: This turns Over Write mode on (or off if it's currently on) in the selected
145: buffer. When on, this mode changes the way the self-inserting characters
146: work. Instead of inserting themselves and pushing the rest of the line over
147: to the right, they replace or over-write the existing character. Also,
148: Rubout replaces the character before point with a space instead of deleting
149: it. When Over Write mode is on "OvrWt" is displayed on the mode line.
150: .dc "page-next-window" "ESC C-V"
151: This displays the next page in the next window. This is exactly the
152: same as "C-X N C-V C-X P".
153: .dc "paren-flash" ") } ]"
154: This handles the C mode curly brace indentation, the Lisp mode paren
155: indentation, and the Show Match mode paren/curly brace/square bracket
156: flashing.
157: .dc "paren-flash-delay" "(variable)"
158: How long, in tenths of seconds, \s-2JOVE\s0 should pause on a matching
159: parenthesis in
160: .IQ Show Match
161: mode. The default is 5.
162: .dc "parse-errors" "Not Bound"
163: This takes the list of C compilation errors (or output from another program
164: in the same format) in the current buffer and parses them for use with the
165: .IQ next-error
166: and
167: .IQ previous-error
168: and
169: .IQ current-error
170: commands.
171: This is a very useful tool and helps with compiling C programs and when used
172: in conjunction with the "grep" UNIX command very helpful in making changes
173: to a bunch of files. This command understands errors produced by cc, cpp,
174: and lint; plus any other program with the same format (e.g., "grep -n").
175: \s-2JOVE\s0 visits each file that has an error and remembers each line that
176: contains an error. It doesn't matter if later you insert or delete
177: some lines in the buffers containing errors; \s-2JOVE\s0 remembers where
178: they are regardless.
179: .IQ current-error
180: is automatically executed after one of the parse commands, so you end up
181: at the first error. See also
182: .IQ error-format-string
183: to make it possible to parse errors of a different format.
184: .dc "parse-spelling-errors-in-buffer" "Not Bound"
185: This parses a list of words in the current buffer and looks them up in
186: another buffer that you specify. This will probably go away soon.
187: .dc "pause-jove" "ESC S"
188: This stops \s-2JOVE\s0 and returns control to the parent shell. This
189: only works for users using the C-shell, and on systems that have the
190: job control facility. To return to \s-2JOVE\s0 you type "fg" to the C-shell.
191: .dc "physical-tabstop" "(variable)"
192: How many spaces your terminal prints when it prints a tab character.
193: .dc "pop-mark" "Not Bound"
194: This gets executed when you run
195: .IQ set-mark
196: with a numeric argument.
197: \s-2JOVE\s0 remembers the last 16 marks and you use
198: .IQ pop-mark
199: to go
200: backward through the ring of marks. If you execute
201: .IQ pop-mark
202: enough
203: times you will eventually get back to where you started.
204: .dc "popd" "Not Bound"
205: This pops one entry off the directory stack. Entries are pushed with
206: the
207: .IQ pushd
208: command. The names were stolen from the C-shell and the
209: behavior is the same.
210: .dc "previous-error" "C-X C-P"
211: This is the same as
212: .IQ next-error
213: except it goes to the previous error.
214: See
215: .IQ next-error
216: for documentation.
217: .dc "previous-line" "C-P"
218: This moves up to the previous line.
219: .dc "previous-page" "ESC V"
220: This displays the previous page of the current buffer by taking the top
221: line and redrawing the window with it at the bottom. If a numeric
222: argument is supplied the screen is scrolled down that many lines; if
223: the argument is negative the screen is scrolled up.
224: .dc "previous-window" "C-X P and C-X O"
225: This moves into the next window. Windows live in a circular list so
226: when you're in the top window and you try to move to the previous one
227: you are moved to the bottom window. It is an error to use this command
228: with only one window.
229: .dc "print" "Not Bound"
230: This prints the value of a \s-2JOVE\s0 variable.
231: .dc "process-bind-to-key" "Not Bound"
232: This command is identical to bind-to-key, except that it only affects
233: your bindings when you are in a buffer attached to a process. When
234: you enter the process buffer, any keys bound with this command will
235: automatically take their new values. When you switch to a non-process
236: buffer, the old bindings for those keys will be restored. For example,
237: you might want to execute
238: .DS I
239: process-bind-to-key stop-process ^Z
240: process-bind-to-key interrupt-process ^C
241: .DE
242: Then, when you start up an interactive process and switch into that
243: buffer, C-Z will execute stop-process and C-C will execute interrupt-
244: process. When you switch back to a non-process buffer, C-Z will go
245: back to executing scroll-up (or whatever you have it bound to).
246: .dc "process-newline" "Return"
247: This this only gets executed when in a buffer that is attached to an
248: interactive-process. \s-2JOVE\s0 does two different things depending on where
249: you are when you hit Return. When you're at the end of the I-Process
250: buffer this does what Return normally does, except it also makes the
251: line available to the process. When point is positioned at some other
252: position that line is copied to the end of the buffer (with the prompt
253: stripped) and point is moved there with it, so you can then edit that
254: line before sending it to the process. This command
255: .IQ must
256: be bound
257: to the key you usually use to enter shell commands (Return), or else
258: you won't be able to enter any.
259: .dc "process-prompt" (variable)
260: What a prompt looks like from the shell and i-shell-command
261: processes. The default is "% ", the default C-shell prompt. This is
262: actually a regular expression search string. So you can set it to be
263: more than one thing at once using the \e| operator. For instance, for
264: LISP hackers, the prompt can be
265: .DS
266: "% \e|-> \e|<[0-9]>: ".
267: .DE
268: .dc "process-send-data-no-return" "Not Bound"
269: This is like
270: .IQ process-newline
271: except it sends everything to the process without the newline. Normally,
272: when you type return in a process buffer it sends everything you typed
273: including the Return. This command just provides a way to send data to
274: the process without having to send a newline as well.
275: .dc "push-shell" "Not Bound"
276: This spawns a child shell and relinquishes control to it. This works
277: on any version of UNIX, but this isn't as good as
278: .IQ pause-jove
279: because
280: it takes time to start up the new shell and you get a brand new
281: environment every time. To return to \s-2JOVE\s0 you type "C-D".
282: .dc "pushd" "Not Bound"
283: This pushes a directory onto the directory stack and cd's into it. It
284: asks for the directory name but if you don't specify one it switches
285: the top two entries no the stack. It purposely behaves the same as
286: C-shell's
287: .IQ pushd.
288: .dc "pwd" "Not Bound"
289: This prints the working directory.
290: .dc "query-replace-string" "ESC Q"
291: This replaces the occurrences of a specified string with a specified
292: replacement string. When an occurrence is found point is moved to it
293: and then \s-2JOVE\s0 asks what to do. The options are:
294: .DS I
295: .ta \w'Rubout111'u
296: Space to replace this occurrence and go on to the next one.
297: Period to replace this occurrence and then stop.
298: Rubout to skip this occurrence and go on to the next one.
299: C-R to enter a recursive edit. This lets you temporarily
300: suspend the replace, do some editing, and then return
301: to continue where you left off. To continue with the
302: Query Replace type "C-X C-C" as if you were trying to
303: exit \s-2JOVE\s0. Normally you would but when you are in a
304: recursive edit all it does is exit that recursive
305: editing level.
306: C-W to delete the matched string and then enter a recursive
307: edit.
308: U to undo the last replacement.
309: P or ! to go ahead and replace the remaining occurrences without
310: asking.
311: Return to stop the Query Replace.
312: .DE
313: The search for occurrences starts at point and goes to the end of the
314: buffer, so to replace in the entire buffer you must first go to the
315: beginning.
316: .dc "quit-process" "Not Bound"
317: This is the same as typing "C-\e" (the Quit character) to a normal UNIX
318: process, except it sends it to the current process in \s-2JOVE\s0. This is
319: only for versions of \s-2JOVE\s0 that have the interactive processes feature.
320: This only works when you are inside a buffer that's attached to a
321: process.
322: .dc "quoted-insert" "C-Q"
323: This lets you insert characters that normally would be executed as
324: other \s-2JOVE\s0 commands. For example, to insert "C-F" you type "C-Q C-F".
325: .dc "read-word-abbrev-file" "Not Bound"
326: This reads a specified file that contains a bunch of abbreviation
327: definitions, and makes those abbreviations available. If the selected
328: buffer is not already in Word Abbrev mode this command puts it in
329: that mode.
330: .dc "recursive-edit" "Not Bound"
331: This enters a recursive editing level. This isn't really very
332: useful. I don't know why it's available for public use. I think I'll
333: delete it some day.
334: .dc "redraw-display" "C-L"
335: This centers the line containing point in the window. If that line is
336: already in the middle the window is first cleared and then redrawn.
337: If a numeric argument is supplied, the line is positioned at that
338: offset from the top of the window. For example, "ESC 0 C-L" positions
339: the line containing point at the top of the window.
340: .dc "rename-buffer" "Not Bound"
341: This lets you rename the current buffer.
342: .dc "replace-in-region" "Not Bound"
343: This is the same as
344: .IQ replace-string
345: except that it is restricted
346: to occurrences between Point and Mark.
347: .dc "replace-string" "ESC R"
348: This replaces all occurrences of a specified string with a specified
349: replacement string. This is just like
350: .IQ query-replace-string
351: except
352: it replaces without asking.
353: .dc "right-margin" "(variable)"
354: Where the right margin is for
355: .IQ "Auto Fill"
356: mode and the
357: .IQ justify-paragraph
358: and
359: .IQ justify-region
360: commands. The default is 78.
361: .dc "right-margin-here" "Not Bound"
362: This sets the
363: .IQ right-margin
364: variable to the current position of
365: point. This is an easy way to say, "Make the right margin begin here,"
366: without having to count the number of spaces over it actually is.
367: .dc "save-file" "C-X C-S"
368: This saves the current buffer to the associated file. This makes your
369: changes permanent so you should be sure you really want to. If the
370: buffer has not been modified
371: .IQ save-file
372: refuses to do the save. If
373: you really do want to write the file you can use "C-X C-W" which
374: executes
375: .IQ write-file.
376: .dc "scroll-all-lines" "(variable)"
377: When this is turned on, the entire window will be scrolled left or right
378: when the current line scrolls. The default value is OFF, which will
379: cause \s-2JOVE\s0 to behave in the familiar way, namely to scroll only
380: the current line.
381: .dc "scroll-down" "ESC Z"
382: This scrolls the screen one line down. If the line containing point
383: moves past the bottom of the window point is moved up to the center of
384: the window. If a numeric argument is supplied that many lines are
385: scrolled; if the argument is negative the screen is scrolled up
386: instead.
387: .dc "scroll-left" "Not Bound"
388: This scrolls the text in the current window 10 character positions to the
389: left. If a numeric argument is specified then the text is scrolled that
390: number of character positions. If the variable
391: .IQ scroll-all-lines
392: is ON then
393: .IQ scroll-left
394: may actually do nothing if the scrolling would cause Point not to be
395: visible.
396: .dc "scroll-next-page" "Not Bound"
397: This continuously scrolls up screen-full lines (PC version only).
398: .dc "scroll-previous-page" "Not Bound"
399: This continuously scrolls down screen-full lines (PC version only).
400: .dc "scroll-right" "Not Bound"
401: This scrolls the text in the current window 10 character positions to the
402: right. If a numeric argument is specified then the text is scrolled that
403: number of character positions. If the variable
404: .IQ scroll-all-lines
405: is ON then
406: .IQ scroll-right
407: may actually do nothing if the scrolling would cause Point not to be
408: visible.
409: .dc "scroll-step" "(variable)"
410: How many lines should be scrolled if the
411: .IQ previous-line
412: or
413: .IQ next-line
414: commands move you off the top or bottom of the screen. You may wish to
415: decrease this variable if you are on a slow terminal. The default value
416: is 0, which means to center the current line in the window. If the value
417: is negative, the behavior is slightly different. If you move off the top
418: of the window, and
419: .IQ scroll-step
420: is, say, -5 then the new line will be displayed 5 lines from the bottom
421: of the window. If you move off the bottom of the window, the new line
422: will be positioned 5 lines from the top of the window.
423: .dc "scroll-up" "C-Z"
424: This scrolls the screen one line up. If the line containing point
425: moves past the top of the window point is moved down to the center of
426: the window. If a numeric argument is supplied that many lines are
427: scrolled; if the argument is negative the screen is scrolled down
428: instead.
429: .dc "search-exit-char" "(variable)"
430: Set this to the character you want to use to exit incremental search.
431: The default is Newline, which makes i-search compatible with normal
432: string search.
433: .dc "search-forward" "C-S"
434: This searches forward for a specified search string and positions
435: point at the end of the string if it's found. If the string is not
436: found point remains unchanged. This searches from point to the end of
437: the buffer, so any matches before point will be missed.
438: .dc "search-forward-nd" "Not Bound"
439: This is just like
440: .IQ search-forward
441: except that it doesn't assume a default search string, and it doesn't set
442: the default search string. This is useful for defining macros, when you
443: want to search for something, but you don't want it to affect the current
444: default search string.
445: .dc "search-reverse" "C-R"
446: This searches backward for a specified search string and positions
447: point at the beginning if the string if it's found. If the string is
448: not found point remains unchanged. This searches from point to the
449: beginning of the buffer, so any matches after point will be missed.
450: .dc "search-reverse-nd" "Not Bound"
451: This is just like
452: .IQ search-reverse
453: except that it doesn't assume a default search string, and it doesn't set
454: the default search string. This is useful for defining macros, when you
455: want to search for something, but you don't want it to affect the current
456: default search string.
457: .dc "select-buffer" "C-X B"
458: This selects a new or already existing buffer making it the current
459: one. You can type either the buffer name or number. If you type in
460: the name you need only type the name until it is unambiguous, at which
461: point typing Escape or Space will complete it for you. If you want to
462: create a new buffer you can type Return instead of Space, and a new
463: empty buffer will be created.
464: .dc "select-buffer-1" "<Alt>-1"
465: This selects buffer number 1, if it exists (PC version only).
466: .dc "select-buffer-2" "<Alt>-2"
467: This selects buffer number 2, if it exists (PC version only).
468: .dc "select-buffer-3" "<Alt>-3"
469: This selects buffer number 3, if it exists (PC version only).
470: .dc "select-buffer-4" "<Alt>-4"
471: This selects buffer number 4, if it exists (PC version only).
472: .dc "select-buffer-5" "<Alt>-5"
473: This selects buffer number 5, if it exists (PC version only).
474: .dc "select-buffer-6" "<Alt>-6"
475: This selects buffer number 6, if it exists (PC version only).
476: .dc "select-buffer-7" "<Alt>-7"
477: This selects buffer number 7, if it exists (PC version only).
478: .dc "select-buffer-8" "<Alt>-8"
479: This selects buffer number 8, if it exists (PC version only).
480: .dc "select-buffer-9" "<Alt>-9"
481: This selects buffer number 9, if it exists (PC version only).
482: .dc "self-insert" "Most Printing Characters"
483: This inserts the character that invoked it into the buffer at point.
484: Initially all but a few of the printing characters are bound to
485: .IQ self-insert.
486: .dc "send-typeout-to-buffer" "(variable)"
487: When this is set \s-2JOVE\s0 will send output that normally overwrites the
488: screen (temporarily) to a buffer instead. This affects commands like
489: .IQ list-buffers,
490: .IQ list-processes,
491: and commands that use completion. The default value is "off".
492: .dc "set" "Not Bound"
493: This gives a specified variable a new value. Occasionally you'll see
494: lines like "set this variable to that value to do this". Well, you
495: use the
496: .IQ set
497: command to do that.
498: .dc "set-mark" "C-@"
499: This sets the mark at the current position in the buffer. It prints
500: the message "Point pushed" on the message line. It says that instead
501: of "Mark set" because when you set the mark the previous mark is still
502: remembered on a ring of 16 marks. So "Point pushed" means point is
503: pushed onto the ring of marks and becomes the value of "the mark".
504: To go through the ring of marks you type "C-U C-@", or execute the
505: .IQ pop-mark
506: command. If you type this enough times you will get back
507: to where you started.
508: .dc "shell" "(variable)"
509: The shell to be used with all the shell commands command. If your SHELL
510: environment variable is set, it is used as the value of
511: .IQ shell;
512: otherwise "/bin/csh" is the default.
513: .dc "shell" "Not Bound"
514: This starts up an interactive shell in a window. \s-2JOVE\s0 uses
515: "*shell*" as the name of the buffer in which the interacting takes
516: place. See the manual for information on how to use interactive
517: processes.
518: .dc "shell-command" "C-X !"
519: This runs a UNIX command and places the output from that command in a
520: buffer. \s-2JOVE\s0 creates a buffer that matches the name of the command
521: you specify and then attaches that buffer to a window. So, when you
522: have only one window running this command will cause \s-2JOVE\s0 to split the
523: window and attach the new buffer to that window. Otherwise, \s-2JOVE\s0
524: finds the most convenient of the available windows and uses that one
525: instead. If the buffer already exists it is first emptied, except that if
526: it's holding a file, not some output from a previous command, \s-2JOVE\s0
527: prints an error message and refuses to execute the command. If you
528: really want to execute the command you should delete that buffer
529: (saving it first, if you like) or use
530: .IQ shell-command-to-buffer,
531: and
532: try again.
533: .dc "shell-command-no-buffer" "Not Bound"
534: This is just like
535: .IQ shell-command
536: except it just runs the command without saving the output to any buffer.
537: It will report the success of the command in the usual way.
538: .dc "shell-command-to-buffer" "Not Bound"
539: This is just like
540: .IQ shell-command
541: except it lets you specify the
542: buffer to use instead of \s-2JOVE\s0.
543: .dc "shell-command-with-typeout" "Not Bound"
544: This is just like
545: .IQ shell-command
546: except that instead of saving the output to a buffer, and displaying
547: it in a window, this just types out the output in the same way that
548: .IQ list-buffers
549: does. Actually, how this behaves depends on the value of the variable
550: .IQ send-typeout-to-buffer.
551: If it is on then shell-command-with-typeout will behave just like
552: .IQ shell-command.
553: .dc "shell-flags" "(variable)"
554: This defines the flags that are passed to shell commands. The default is
555: "-c". See the
556: .IQ shell
557: variable to change the default shell.
558: .dc "show-match-mode" "Not Bound"
559: This turns on Show Match mode (or off if it's currently on) in the
560: selected buffer. This changes "}" and ")" so that when they are typed
561: the are inserted as usual, and then the cursor flashes back to the
562: matching "{" or "(" (depending on what was typed) for about half a
563: second, and then goes back to just after the "}" or ")" that invoked
564: the command. This is useful for typing in complicated expressions in
565: a program. You can change how long the cursor sits on the matching
566: paren by setting the "paren-flash-delay" variable in tenths of a
567: second. If the matching "{" or "(" isn't visible nothing happens.
568: .dc "shrink-window" "Not Bound"
569: This makes the current window one line shorter, if possible. Windows
570: must be at least 2 lines high, one for the text and the other for the
571: mode line.
572: .dc "source" "Not Bound"
573: This reads a bunch of \s-2JOVE\s0 commands from a file. The format of the
574: file is the same as that in your initialization file (your ".joverc")
575: in your main directory. There should be one command per line and it
576: should be as though you typed "ESC X" while in \s-2JOVE\s0. For example,
577: here's part of my initialization file:
578: .DS I
579: bind-to-key i-search-reverse ^R
580: bind-to-key i-search-forward ^S
581: bind-to-key pause-jove ^[S
582: .DE
583: What they do is make "C-R" call the
584: .IQ i-search-reverse
585: command and
586: "C-S" call
587: .IQ i-search-forward
588: and "ESC S" call
589: .IQ pause-jove.
590: .dc "spell-buffer" "Not Bound"
591: This runs the current buffer through the UNIX
592: .IQ spell
593: program and places
594: the output in buffer "Spell". Then \s-2JOVE\s0 lets you edit the list of
595: words, expecting you to delete the ones that you don't care about, i.e., the
596: ones you know are spelled correctly. Then the
597: .IQ parse-spelling-errors-in-buffer
598: command comes along and finds all the
599: misspelled words and sets things up so the error commands work.
600: .dc "split-current-window" "C-X 2"
601: This splits the current window into two equal parts (providing the
602: resulting windows would be big enough) and displays the selected buffer
603: in both windows. Use "C-X 1" to go back to 1 window mode. If a numeric
604: argument is supplied, the window is split "evenly" that many times (when
605: possible).
606: .dc "start-remembering" "C-X ("
607: This is just another name for the
608: .IQ begin-kbd-macro
609: name. It is included for backward compatibility.
610: .dc "stop-remembering" "C-X )"
611: This is just another name for the
612: .IQ end-kbd-macro
613: command. It is included for backward compatibility.
614: .dc "stop-process" "Not Bound"
615: This sends a stop signal (C-Z, for most people) to the current process.
616: It only works if you have the interactive process feature, and you are
617: in a buffer attached to a process.
618: .dc "string-length" "Not Bound"
619: This prints the number of characters in the string that point sits in.
620: Strings are surrounded by double quotes. \s-2JOVE\s0 knows that "\e007" is
621: considered a single character, namely "C-G", and also knows about
622: other common ones, like "\er" (Return) and "\en" (LineFeed). This is
623: mostly useful only for C programmers.
624: .dc "suspend-jove" "ESC S"
625: This is a synonym for
626: .IQ pause-jove.
627: .dc "sync-frequency" "(variable)"
628: The temporary files used by \s-2JOVE\s0 are forced out to disk every
629: .IQ sync-frequency
630: modifications. The default is 50, which really makes
631: good sense. Unless your system is very unstable, you probably
632: shouldn't fool with this.
633: .dc "tag-file" "(variable)"
634: This the name of the file in which \s-2JOVE\s0 should look up tag
635: definitions. The default value is "./tags".
636: .dc "text-mode" "Not Bound"
637: This sets the major mode to Text. Currently the other modes are
638: Fundamental, C and Lisp mode.
639: .dc "tmp-file-pathname" "(variable)"
640: This tells JOVE where to put the tmp files, which is where JOVE stores
641: buffers internally. The default is usually in /tmp, but if you want to
642: store them somewhere else, you can set this variable. If your system
643: crashes a lot it might be a good idea to set this variable to somewhere
644: other than /tmp because the system removes all the files in /tmp upon
645: reboot, and so you would not be able to recover editor buffers using the
646: "jove -r" command.
647:
648: NOTE: In order for this to work correctly you must set this variable
649: BEFORE JOVE creates the tmp file. You can set this in your .joverc (the
650: closer to tbe beginning the better), or as soon as you start up JOVE
651: before you visit any files.
652: .dc "transpose-characters" "C-T"
653: This switches the character before point with the one after point, and
654: then moves forward one. This doesn't work at the beginning of the
655: line, and at the end of the line it switches the two characters before
656: point. Since point is moved forward, so that the character that was
657: before point is still before point, you can use "C-T" to drag a
658: character down the length of a line. This command pretty quickly
659: becomes very useful.
660: .dc "transpose-lines" "C-X C-T"
661: This switches the current line with the one above it, and then moves
662: down one so that the line that was above point is still above point.
663: This, like
664: .IQ transpose-characters,
665: can be used to drag a line down a page.
666: .dc "unbind-key" "Not Bound"
667: Use this to unbind
668: .IQ any
669: key sequence. You can use this to unbind even a
670: prefix command, since this command does not use "key-map completion". For
671: example, "ESC X unbind-key ESC [" unbinds the sequence "ESC [". This is
672: useful for "turning off" something set in the system-wide ".joverc" file.
673: .dc "update-time-frequency" "(variable)"
674: How often the mode line is updated (and thus the time and load
675: average, if you display them). The default is 30 seconds.
676: .dc "use-i/d-char" "(variable)"
677: If your terminal has insert/delete character capability you can tell \s-2JOVE\s0
678: not to use it by setting this to "off". In my opinion it is only worth using
679: insert/delete character at low baud rates. WARNING: if you set this to
680: "on" when your terminal doesn't have insert/delete character capability,
681: you will get weird (perhaps fatal) results.
682: .dc "version" "Not Bound"
683: Displays the version number of this \s-2JOVE\s0.
684: .dc "visible-bell" "(variable)"
685: Use the terminal's visible bell instead of beeping. This is set
686: automatically if your terminal has the capability.
687: .dc "visible-spaces-in-window" "Not Bound"
688: This displays an underscore character instead of each space in the
689: window and displays a greater-than followed by spaces for each tab
690: in the window. The actual text in the buffer is not changed; only
691: the screen display is affected. To turn this off you run the command
692: again; it toggles.
693: .dc "visit-file" "C-X C-V"
694: This reads a specified file into the current buffer replacing the old
695: text. If the buffer needs saving \s-2JOVE\s0 will offer to save it for you.
696: Sometimes you use this to start over, say if you make lots of changes
697: and then change your mind. If that's the case you don't want \s-2JOVE\s0 to
698: save your buffer and you answer "NO" to the question.
699: .dc "window-find" "C-X 4"
700: This lets you select another buffer in another window three
701: different ways. This waits for another character which can be one of
702: the following:
703: .DS I
704: .ta .5i 1i 1.5i
705: T Finds a tag in the other window.
706: F Finds a file in the other window.
707: B Selects a buffer in the other window.
708: .DE
709: This is just a convenient short hand for "C-X 2" (or "C-X O" if there are
710: already two windows) followed by the appropriate sequence for invoking each
711: command. With this, though, there isn't the extra overhead of having to
712: redisplay. In addition, you don't have to decide whether to type "C-X 2" or
713: "C-X O" since "C-X 4" does the right thing.
714: .dc "word-abbrev-mode" "Not Bound"
715: This turns on Word Abbrev mode (or off if it's currently on) in the
716: selected buffer. Word Abbrev mode lets you specify a word (an
717: abbreviation) and a phrase with which \s-2JOVE\s0 should substitute the
718: abbreviation. You can use this to define words to expand into long
719: phrases, e.g., "jove" can expand into "Jonathan's Own Version of
720: Emacs"; another common use is defining words that you often misspell
721: in the same way, e.g., "thier" => "their" or "teh" => "the". See
722: the information on the
723: .IQ auto-case-abbrev
724: variable.
725: .sp 1
726: There are two kinds of abbreviations: mode specific and global. If you
727: define a Mode specific abbreviation in C mode, it will expand only in
728: buffers that are in C mode. This is so you can have the same
729: abbreviation expand to different things depending on your context.
730: Global abbreviations expand regardless of the major mode of the buffer.
731: The way it works is this: \s-2JOVE\s0 looks first in the mode specific
732: table, and then in the global table. Whichever it finds it in first is
733: the one that's used in the expansion. If it doesn't find the word it is
734: left untouched. \s-2JOVE\s0 tries to expand words as they are typed, when
735: you type a punctuation character or Space or Return. If you are in Auto
736: Fill mode the expansion will be filled as if you typed it yourself.
737: .dc "wrap-search" "(variable)"
738: If set, searches will "wrap around" the ends of the buffer instead
739: of stopping at the bottom or top. The default is "off".
740: .dc "write-file" "C-X C-W"
741: This saves the current buffer to a specified file, and then makes that
742: file the default file name for this buffer. If you specify a file
743: that already exists you are asked to confirm over-writing it.
744: .dc "write-files-on-make" "(variable)"
745: When set, all modified files will be written out before calling
746: make when the
747: .IQ compile-it
748: command is executed. The default is "on".
749: .dc "write-macros-to-file" "Not Bound"
750: This writes the currently defined macros to a specified file in a format
751: appropriate for reading them back in with the
752: .IQ source
753: command. The purpose of this command is to allow you to define macros
754: once and use them in other instances of JOVE.
755: .dc "write-modified-files" "C-X C-M"
756: This saves all the buffers that need saving. If you supply a numeric
757: argument it asks for each buffer whether you really want to save it.
758: .dc "write-region" "Not Bound"
759: This writes the text in the region to a specified file. If the file
760: already exists you are asked to confirm over-writing it.
761: .dc "write-word-abbrev-file" "Not Bound"
762: This writes the currently defined abbreviations to a specified file.
763: They can be read back in and automatically defined with
764: .IQ read-word-abbrev-file.
765: .dc "yank" "C-Y"
766: This undoes the last kill command. That is, it inserts the killed
767: text at point. When you do multiple kill commands in a row, they are
768: merged so that yanking them back with "C\-Y" yanks back all of them.
769: .dc "yank-pop" "ESC Y"
770: This yanks back previous killed text. \s-2JOVE\s0 has a kill ring on which
771: the last 10 kills are stored.
772: .IQ yank
773: yanks a copy of the text at the
774: front of the ring. If you want one of the last ten kills you use "ESC
775: Y" which rotates the ring so another different entry is now at the
776: front. You can use "ESC Y" only immediately following a "C-Y" or
777: another "ESC Y". If you supply a negative numeric argument the ring
778: is rotated the other way. If you use this command enough times in a
779: row you will eventually get back to where you started. Experiment
780: 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.