|
|
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.