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