Annotation of 43BSDTahoe/new/jove/doc/jove.4, revision 1.1.1.1

1.1       root        1: .bp
                      2: .NH 1
                      3: Alphabetical List of Commands and Variables
                      4: .dc "prefix-1" "Escape"
                      5: This reads the next character and runs a command based on the character
                      6: typed.  If you wait for more than a second or so before typing the next
                      7: character, the message "ESC" will be printed on the message line to
                      8: remind you that \s-2JOVE\s0 is waiting for another character.
                      9: .dc "prefix-2" "C-X"
                     10: This reads the next character and runs a command based on the character
                     11: typed.  If you wait for more than a second or so before typing another
                     12: character, the message "C-X" will be printed on the message line to
                     13: remind you that \s-2JOVE\s0 is waiting for another character.
                     14: .dc "prefix-3" "Not Bound"
                     15: This reads the next character and runs a command based on the character
                     16: typed.  If you wait for more than a second or so before typing the next
                     17: character, the character that invoked Prefix-3 will be printed on the
                     18: message line to remind you that \s-2JOVE\s0 is waiting for another one.
                     19: .dc "abort-char" "(variable)"
                     20: This variable defines \s-2JOVE'S\s0 abort characer.  When the abort
                     21: character is typed, the current \s-2JOVE\s0 command is aborted.  The
                     22: default value is C-G.
                     23: .dc "add-lisp-special" "Not Bound"
                     24: This command is to tell \s-2JOVE\s0 what identifiers require special
                     25: indentation in lisp mode.  Lisp functions like defun and let are two of
                     26: the default functions that get treated specially.  This is just a kludge
                     27: to define some of your own.  It prompts for the function name.
                     28: .dc "allow-^S-and-^Q" "(variable)"
                     29: This variable, when set, tells \s-2JOVE\s0 that your terminal does not need
                     30: to use the characters C-S and C-Q for flow control, and that it is
                     31: okay to bind things to them.  This variable should be set depending
                     32: upon what kind of terminal you have.
                     33: .dc "allow-bad-filenames" "(variable)"
                     34: If set, this variable permits filenames to contain "bad" characters
                     35: such as those from the set *&%!"`[]{}.  These files are harder to deal
                     36: with, because the characters mean something to the shell.  The default
                     37: value is "off".
                     38: .dc "ansi-codes" "Not Bound"
                     39: When bound to "ESC [" this makes the arrow keys, and various other keys
                     40: on vt100-like terminals do the right thing.  For example, the up arrow
                     41: key will move to the previous line.
                     42: .dc "append-region" "Not Bound"
                     43: This appends the region to a specified file.  If the file does not
                     44: already exist it is created.
                     45: .dc "apropos" "Not Bound"
                     46: This types out all the commands, variables and macros with the specific
                     47: keyword in their names.  For each command and macro that contains the
                     48: string, the key sequence that can be used to execute the command or macro is
                     49: printed; with variables, the current value is printed.  So, to find all the
                     50: commands that are related to windows, you type
                     51: .DS
                     52: ESC X apropos window<Return>
                     53: .DE
                     54: .dc "auto-case-abbrev" "(variable)"
                     55: When this variable is on (the default), word abbreviations are adjusted for
                     56: case automatically.  For example, if "jove" were the abbreviation for
                     57: "jonathan's own version of emacs", then typing "jove" would give you
                     58: "jonathan's own version of emacs", typing "Jove" would give you "Jonathan's
                     59: own version of emacs", and typing "JOVE" would give you "Jonathan's Own
                     60: Version of Emacs".  When this variable is "off", upper and lower case are
                     61: distinguished when looking for the abbreviation, i.e., in the example above,
                     62: "JOVE" and "Jove" would not be expanded unless they were defined separately.
                     63: .dc "auto-execute-command" "Not Bound"
                     64: This tells \s-2JOVE\s0 to execute a command automatically when a file whose
                     65: name matches a specified pattern is visited.  The first argument is the
                     66: command you want executed and the second is a regular expression
                     67: pattern that specifies the files that apply.  For example, if you want
                     68: to be in show-match-mode when you edit C source files (that is, files
                     69: that end with ".c" or ".h") you can type
                     70: .ID
                     71: ESC X auto-execute-command show-match-mode .*\.[ch]$
                     72: .DE
                     73: .dc "auto-execute-macro" "Not Bound"
                     74: This is like
                     75: .IQ auto-execute-command
                     76: except you use it to execute macros
                     77: automatically instead of built-in commands.
                     78: .dc "auto-fill-mode" "Not Bound"
                     79: This turns on Auto Fill mode (or off if it's currently on) in the
                     80: selected buffer.  When \s-2JOVE\s0 is in Auto Fill mode it automatically
                     81: breaks lines for you when you reach the right margin so you don't have
                     82: to remember to hit Return.  \s-2JOVE\s0 uses 78 as the right margin but you
                     83: can change that by setting the variable
                     84: .IQ right-margin
                     85: to another
                     86: value.  See the
                     87: .IQ set
                     88: command to learn how to do this.
                     89: .dc "auto-indent-mode" "Not Bound"
                     90: This turns on Auto Indent mode (or off if it's currently on) in the
                     91: selected buffer.  When \s-2JOVE\s0 is in Auto Indent mode, Return indents the
                     92: new line to the same position as the line you were just on.  This is
                     93: useful for lining up C code (or any other language (but what else is
                     94: there besides C?)).  This is out of date because of the new command
                     95: called
                     96: .IQ newline-and-indent
                     97: but it remains because of several
                     98: "requests" on the part of, uh, enthusiastic and excitable users, that
                     99: it be left as it is.
                    100: .dc "background-color" "(variable)"
                    101: This specifies the background color of the screen (PC version only).  The
                    102: default value is 0, which stands for black.
                    103: .dc "backward-character" "C-B"
                    104: This moves point backward over a single character.  If point is at the
                    105: beginning of the line it moves to the end of the previous line.
                    106: .dc "backward-list" "ESC C-P"
                    107: This moves backward over a list as opposed to an s-expression.  The
                    108: difference between this and
                    109: .IQ backward-s-expression
                    110: is that this first searchs for a ")" and then moves to the matching "(".
                    111: This is useful when you're trying to find unmatched parens in a program.
                    112: .dc "backward-paragraph" "ESC ["
                    113: This moves point backward to the beginning of the current or previous
                    114: paragraph.  Paragraphs are bounded by lines that begin with a Period or
                    115: Tab, or by blank lines; a change in indentation may also signal a break
                    116: between paragraphs, except that \s-2JOVE\s0 allows the first line of a paragraph
                    117: to be indented differently from the other lines.
                    118: .dc "backward-s-expression" "ESC C-B"
                    119: This moves point backward over a s-expression.  It is just like
                    120: .IQ forward-s-expression
                    121: with a negative argument.
                    122: .dc "backward-sentence" "ESC A"
                    123: This moves point backward to the beginning of the current or previous
                    124: sentence.  \s-2JOVE\s0 considers the end of a sentence to be the characters
                    125: ".", "!" or "?" followed by a Return or by one or more spaces.
                    126: .dc "backward-up-list" "ESC C-U"
                    127: This is similar to
                    128: .IQ backward-s-expression
                    129: except it backs up and OUT of the enclosing s-expression.  In other
                    130: words, it moves backward to the "(" that would match a ")" if you were to
                    131: type it right then.
                    132: .dc "backward-word" "ESC B"
                    133: This moves point backward to the beginning of the current or previous
                    134: word.
                    135: .dc "bad-filename-extensions" "(variable)"
                    136: This contains a list of words separated by spaces which are to be
                    137: considered bad filename extensions, and so will not be counted in
                    138: filename completion.  The default is ".o" so if you have jove.c and
                    139: jove.o in the same directory, the filename completion will not complain
                    140: of an ambiguity because it will ignore jove.o.
                    141: .dc "begin-kbd-macro" "C-X ("
                    142: This starts defining the keyboard macro by remembering all your key
                    143: strokes until you execute
                    144: .IQ end-kbd-macro,
                    145: by typing "C-X )".  Because of a bug in \s-2JOVE\s0 you shouldn't
                    146: terminate the macro by typing "ESC X end-kbd-macro";
                    147: .IQ end-kbd-macro
                    148: must be bound to "C-X )" in order to make things work correctly.  To
                    149: execute the remembered key strokes you type "C-X E" which runs the
                    150: .IQ execute-kbd-macro
                    151: command.
                    152: Sometimes you may want a macro to accept different input each time it runs.
                    153: To see how to do this, see the
                    154: .IQ make-macro-interactive
                    155: command.
                    156: .dc "beginning-of-file" "ESC <"
                    157: This moves point backward to the beginning of the buffer.  This sometimes
                    158: prints the "Point Pushed" message.  If the top of the buffer isn't on the
                    159: screen \s-2JOVE\s0 will set the mark so you can go back to where you were
                    160: if you want.
                    161: .dc "beginning-of-line" "C-A"
                    162: This moves point to the beginning of the current line.
                    163: .dc "beginning-of-window" "ESC ,"
                    164: This moves point to the beginning of the current window.  The sequence
                    165: "ESC ," is the same as "ESC <" (beginning of file) except without the shift
                    166: key on the "<", and can thus can easily be remembered.
                    167: .dc "bind-macro-to-key" "Not Bound"
                    168: This is like
                    169: .IQ bind-to-key
                    170: except you use it to attach keys to named macros.
                    171: .dc "bind-macro-to-word-abbrev" "Not Bound"
                    172: This command allows you to bind a macro to a previously defined word
                    173: abbreviation.  Whenever you type the abbreviation, it will first be expanded
                    174: as an abbreviation, and then the macro will be executed.  Note that if the
                    175: macro moves around, you should set the mark first (C-@) and then exchange
                    176: the point and mark last (C-X C-X).
                    177: .dc "bind-to-key" "Not Bound"
                    178: This attaches a key to an internal \s-2JOVE\s0 command so that future hits on
                    179: that key invoke that command.  For example, to make "C-W" erase the
                    180: previous word, you type "ESC X bind-to-key kill-previous-word C-W".
                    181: .dc "buffer-position" "Not Bound"
                    182: This displays the current file name, current line number, total number
                    183: of lines, percentage of the way through the file, and the position of
                    184: the cursor in the current line.
                    185: .dc "c-indentation-increment" "(variable)"
                    186: This variable is not currently used.
                    187: .dc "c-mode" "Not Bound"
                    188: This turns on C mode in the currently selected buffer.  This is one of
                    189: currently four possible major modes:  Fundamental, Text, C, Lisp.
                    190: When in C or Lisp mode, Tab, "}", and ")" behave a little differently
                    191: from usual: They are indented to the "right" place for C (or Lisp)
                    192: programs.  In \s-2JOVE\s0, the "right" place is simply the way the author
                    193: likes it (but I've got good taste).
                    194: .dc "case-character-capitalize" "Not Bound"
                    195: This capitalizes the character after point, i.e., the character under
                    196: the cursor.  If a negative argument is supplied that many characters
                    197: .IQ before
                    198: point are upper cased.
                    199: .dc "case-ignore-search" "(variable)"
                    200: This variable, when set, tells \s-2JOVE\s0 to treat upper and lower case as
                    201: the same when searching.  Thus "jove" and "JOVE" would match, and
                    202: "JoVe" would match either.  The default value of this variable is "off".
                    203: .dc "case-region-lower" "Not Bound"
                    204: This changes all the upper case letters in the region to their lower
                    205: case equivalent.
                    206: .dc "case-region-upper" "Not Bound"
                    207: This changes all the lower case letters in the region to their upper
                    208: case equivalent.
                    209: .dc "case-word-capitalize" "ESC C"
                    210: This capitalizes the current word by making the current letter upper
                    211: case and making the rest of the word lower case.  Point is moved to
                    212: the end of the word.  If point is not positioned on a word it is first
                    213: moved forward to the beginning of the next word.  If a negative
                    214: argument is supplied that many words
                    215: .IQ before
                    216: point are capitalized.
                    217: This is useful for correcting the word just typed without having to
                    218: move point to the beginning of the word yourself.
                    219: .dc "case-word-lower" "ESC L"
                    220: This lower-cases the current word and leaves point at the end of it.
                    221: If point is in the middle of a word the rest of the word is
                    222: converted.  If point is not in a word it is first moved forward to the
                    223: beginning of the next word.  If a negative argument is supplied that
                    224: many words
                    225: .IQ before
                    226: point are converted to lower case.  This is useful
                    227: for correcting the word just typed without having to move point to the
                    228: beginning of the word yourself.
                    229: .dc "case-word-upper" "ESC U"
                    230: This upper-cases the current word and leaves point at the end of it.
                    231: If point is in the middle of a word the rest of the word is
                    232: converted.  If point is not in a word it is first moved forward to the
                    233: beginning of the next word.  If a negative argument is supplied that
                    234: many words
                    235: .IQ before
                    236: point are converted to upper case.  This is useful
                    237: for correcting the word just typed without having to move point to the
                    238: beginning of the word yourself.
                    239: .dc "cd" "Not Bound"
                    240: This changes the current directory.
                    241: .dc "character-to-octal-insert" "Not Bound"
                    242: This inserts a Back-slash followed by the ascii value of the next
                    243: character typed.  For example, "C-G" inserts the string "\e007".
                    244: .dc "clear-and-redraw" "ESC C-L"
                    245: This clears the entire screen and redraws all the windows.  Use this
                    246: when \s-2JOVE\s0 gets confused about what's on the screen, or when the screen
                    247: gets filled with garbage characters or output from another program.
                    248: .dc "comment-format" "(variable)"
                    249: This variable tells \s-2JOVE\s0 how to format your comments when you run the
                    250: command
                    251: .IQ fill-comment.
                    252: Its format is this:
                    253: .ID
                    254: <open pattern>%!<line header>%c<line trailer>%!<close pattern>
                    255: .DE
                    256: The %!, %c, and %! must appear in the format; everything else is optional.
                    257: A newline (represented by %n) may appear in the open or close patterns.  %%
                    258: is the representation for %.  The default comment format is for C comments.
                    259: See
                    260: .IQ fill-comment
                    261: for more.
                    262: .dc "compile-it" "C-X C-E"
                    263: This compiles your program by running the UNIX command "make" into a buffer,
                    264: and automatically parsing the error messages that are created (if any).  See
                    265: the
                    266: .IQ parse-errors
                    267: command.  To compile a C program without "make", use "C-U C-X C-E" and
                    268: \s-2JOVE\s0 will prompt for a command to run instead of make.  (And then
                    269: the command you type will become the default command.)  You can use this
                    270: to parse the output from the C compiler or the "grep" or "lint" programs.
                    271: See also
                    272: .IQ error-format-string
                    273: to make it possible to parse errors of a different format.
                    274: .dc "continue-process" "Not Bound"
                    275: This sends SIGCONT to the current interactive process,
                    276: .IQ if
                    277: the process
                    278: is currently stopped.
                    279: .dc "copy-region" "ESC W"
                    280: This takes all the text in the region and copies it onto the kill ring
                    281: buffer.  This is just like running
                    282: .IQ kill-region
                    283: followed by the
                    284: .IQ yank
                    285: command.  See the
                    286: .IQ kill-region
                    287: and
                    288: .IQ yank
                    289: commands.
                    290: .dc "current-error" "Not Bound"
                    291: This moves to the current error in the list of parsed errors.  See the
                    292: .IQ next-error
                    293: and
                    294: .IQ previous-error
                    295: commands for more detailed
                    296: information.
                    297: .dc "date" "Not Bound"
                    298: This prints the date on the message line.
                    299: .dc "define-global-word-abbrev" "Not Bound"
                    300: This defines a global abbreviation.
                    301: .dc "define-macro" "Not Bound"
                    302: This provides a different mechanism for defining keyboard macros.
                    303: Instead of gathering keystrokes and storing them into the
                    304: "keyboard-macro" (which is how
                    305: .IQ start-kbd-macro
                    306: works),
                    307: .IQ define-macro
                    308: prompts for a macro name (terminated with Space, or Newline) and then for
                    309: the actual macro body.  If you wish to specify control characters in the
                    310: macro, you may simply insert them (using the
                    311: .IQ quoted-insert
                    312: command) or by inserting the character '^' followed by the appropriate
                    313: letter for that character (e.g., ^A would be the two characters '^'
                    314: followed by 'A').  You may use Back-slash to prevent the '^' from being
                    315: interpreted as part of a control character when you really wish to insert
                    316: one (e.g., a macro body "\e^foo" would insert the string "^foo" into the
                    317: buffer, whereas the body "^foo" would be the same as typing ^F and then
                    318: inserting the string "oo").  See
                    319: .IQ write-macros-to-file
                    320: to see how to save macros.
                    321: .dc "define-mode-word-abbrev" "Not Bound"
                    322: This defines a mode-specific abbreviation.
                    323: .dc "delete-blank-lines" "C-X C-O"
                    324: This deletes all the blank lines around point.  This is useful when you
                    325: previously opened many lines with "C-O" and now wish to delete the
                    326: unused ones.
                    327: .dc "delete-buffer" "C-X K"
                    328: This deletes a buffer and frees up all the memory associated with it.  Be
                    329: careful(!) - once a buffer has been deleted it is gone forever.  \s-2JOVE\s0
                    330: will ask you to confirm if you try to delete a buffer that needs saving.
                    331: This command is useful for when \s-2JOVE\s0 runs out of space to store
                    332: new buffers.
                    333: .dc "delete-current-window" "C-X D"
                    334: This deletes the current window and moves point into one of the
                    335: remaining ones.  It is an error to try to delete the only remaining
                    336: window.
                    337: .dc "delete-macro" "Not Bound"
                    338: This deletes a macro from the list of named macros.  It is an error to
                    339: delete the keyboard-macro.  Once the macro is deleted it is gone forever.
                    340: If you are about to save macros to a file and decide you don't want to save
                    341: a particular one, delete it.
                    342: .dc "delete-next-character" "C-D"
                    343: This deletes the character that's just after point (that is, the
                    344: character under the cursor).  If point is at the end of a line, the
                    345: line separator is deleted and the next line is joined with the current
                    346: one.
                    347: .dc "delete-other-windows" "C-X 1"
                    348: This deletes all the other windows except the current one.  This can be
                    349: thought of as going back into One Window mode.
                    350: .dc "delete-previous-character" "Rubout"
                    351: This deletes the character that's just before point (that is, the
                    352: character before the cursor).  If point is at the beginning of the
                    353: line, the line separator is deleted and that line is joined with the
                    354: previous one.
                    355: .dc "delete-white-space" "ESC \e\e"
                    356: This deletes all the Tabs and Spaces around point.
                    357: .dc "describe-bindings" "Not Bound"
                    358: This types out a list containing each bound key and the command that gets
                    359: invoked every time that key is typed.  To make a wall chart of \s-2JOVE\s0
                    360: commands, set
                    361: .IQ send-typeout-to-buffer
                    362: to "on" and \s-2JOVE\s0 will
                    363: store the key bindings in a buffer which you can save to a file and then
                    364: print.
                    365: .dc "describe-command" "Not Bound"
                    366: This prints some info on a specified command.
                    367: .dc "describe-key" "Not Bound"
                    368: This waits for you to type a key and then tells the name of the
                    369: command that gets invoked every time that key is hit.  Once you have
                    370: the name of the command you can use the
                    371: .IQ describe-command
                    372: command
                    373: to find out exactly what it does.
                    374: .dc "describe-variable" "Not Bound"
                    375: This prints some info on a specified variable.
                    376: .dc "digit" "ESC [0-9]"
                    377: This reads a numeric argument.  When you type "ESC" followed by a
                    378: number, "digit" keeps reading numbers until you type some other
                    379: command.  Then that command is executes with the numeric argument you
                    380: specified.
                    381: .dc "digit-1" "Not Bound"
                    382: This pretends you typed "ESC 1".  This is useful for terminals that
                    383: have keypads that send special sequences for numbers typed on the
                    384: keypad as opposed to numbers typed from the keyboard.  This can save
                    385: having type "ESC" when you want to specify an argument.
                    386: .dc "digit-2" "Not Bound"
                    387: This pretends you typed "ESC 2".  This is useful for terminals that
                    388: have keypads that send special sequences for numbers typed on the
                    389: keypad as opposed to numbers typed from the keyboard.  This can save
                    390: having type "ESC" when you want to specify an argument.
                    391: .dc "digit-3" "Not Bound"
                    392: This pretends you typed "ESC 3".  This is useful for terminals that
                    393: have keypads that send special sequences for numbers typed on the
                    394: keypad as opposed to numbers typed from the keyboard.  This can save
                    395: having type "ESC" when you want to specify an argument.
                    396: .dc "digit-4" "Not Bound"
                    397: This pretends you typed "ESC 4".  This is useful for terminals that
                    398: have keypads that send special sequences for numbers typed on the
                    399: keypad as opposed to numbers typed from the keyboard.  This can save
                    400: having type "ESC" when you want to specify an argument.
                    401: .dc "digit-5" "Not Bound"
                    402: This pretends you typed "ESC 5".  This is useful for terminals that
                    403: have keypads that send special sequences for numbers typed on the
                    404: keypad as opposed to numbers typed from the keyboard.  This can save
                    405: having type "ESC" when you want to specify an argument.
                    406: .dc "digit-6" "Not Bound"
                    407: This pretends you typed "ESC 6".  This is useful for terminals that
                    408: have keypads that send special sequences for numbers typed on the
                    409: keypad as opposed to numbers typed from the keyboard.  This can save
                    410: having type "ESC" when you want to specify an argument.
                    411: .dc "digit-7" "Not Bound"
                    412: This pretends you typed "ESC 7".  This is useful for terminals that
                    413: have keypads that send special sequences for numbers typed on the
                    414: keypad as opposed to numbers typed from the keyboard.  This can save
                    415: having type "ESC" when you want to specify an argument.
                    416: .dc "digit-8" "Not Bound"
                    417: This pretends you typed "ESC 8".  This is useful for terminals that
                    418: have keypads that send special sequences for numbers typed on the
                    419: keypad as opposed to numbers typed from the keyboard.  This can save
                    420: having type "ESC" when you want to specify an argument.
                    421: .dc "digit-9" "Not Bound"
                    422: This pretends you typed "ESC 9".  This is useful for terminals that
                    423: have keypads that send special sequences for numbers typed on the
                    424: keypad as opposed to numbers typed from the keyboard.  This can save
                    425: having type "ESC" when you want to specify an argument.
                    426: .dc "digit-0" "Not Bound"
                    427: This pretends you typed "ESC 0".  This is useful for terminals that
                    428: have keypads that send special sequences for numbers typed on the
                    429: keypad as opposed to numbers typed from the keyboard.  This can save
                    430: having type "ESC" when you want to specify an argument.
                    431: .dc "dirs" "Not Bound"
                    432: This prints out the directory stack.  See the "cd", "pushd", "popd"
                    433: commands for more info.
                    434: .dc "disable-biff" "(variable)"
                    435: When this is set, \s-2JOVE\s0 disables biff when you're editing and enables it
                    436: again when you get out of \s-2JOVE\s0, or when you pause to the parent shell
                    437: or push to a new shell. (This means arrival of new mail will not be
                    438: immediately apparent but will not cause indiscriminate writing on the
                    439: display). The default is "off".
                    440: .dc "display-bad-filenames" "(variable)"
                    441: This variable affects only filename completion, in particular, what
                    442: happens when "?" is typed while prompting for a file.  When this variable
                    443: is ON, any files that end with one of the extensions defined by the
                    444: variable
                    445: .IQ bad-filename-extensions
                    446: will be displayed with an "!" in front of their names.  When
                    447: .IQ display-bad-filenames
                    448: is OFF the files will not be displayed at all.  The default value is on.
                    449: .dc "down-list" "ESC C-D"
                    450: This is the opposite of
                    451: .IQ backward-up-list.
                    452: It's not clear to me that this command serves any useful purpose in
                    453: life.  Try it out, and let me know what you think.
                    454: .dc "dstop-process" "Not Bound"
                    455: Send the "dsusp" character to the current process.  This is the
                    456: character that suspends a process on the next read from the
                    457: terminal.  Most people have it set to C-Y.  This only works if
                    458: you have the interactive process feature, and if you are in a
                    459: buffer bound to a process.
                    460: .dc "edit-word-abbrevs" "Not Bound"
                    461: This creates a buffer with a list of each abbreviation and the phrase
                    462: it expands into, and enters a recursive edit to let you change the
                    463: abbreviations or add some more.  The format of this list is
                    464: "abbreviation:phrase" so if you add some more you should follow that
                    465: format.  It's probably simplest just to copy some already existing
                    466: abbreviations and edit them.  When you are done you type "C-X C-C" to
                    467: exit the recursive edit.
                    468: .dc "end-kbd-macro" "C-X )"
                    469: This stops the definition of the keyboard macro.  Because of a bug in
                    470: \s-2JOVE\s0, this must be bound to "C-X )", or some key sequence which is
                    471: one or two characters long.  Anything else will not work properly.
                    472: .dc "end-of-file" "ESC >"
                    473: This moves point forward to the end of the buffer.  This sometimes
                    474: prints the "Point Pushed" message.  If the end of the buffer isn't on
                    475: the screen \s-2JOVE\s0 will set the mark so you can go back to where you were
                    476: if you want.
                    477: .dc "end-of-line" "C-E"
                    478: This moves point to the end of the current line.  If the line is too
                    479: long to fit on the screen \s-2JOVE\s0 will scroll the line to the left to
                    480: make the end of the line visible.  The line will slide back to its
                    481: normal position when you move backward past the leftmost visible character
                    482: or when you move off the line altogether.
                    483: .dc "end-of-window" "ESC ."
                    484: This moves point to the last character in the window.
                    485: .dc "eof-process" "Not Bound"
                    486: Sends EOF to the current interactive process.  This only works on
                    487: versions of \s-2JOVE\s0 running under versions of UNIX with pty's.
                    488: .dc "erase-buffer" "Not Bound"
                    489: This erases the contents of the specified buffer.  This is like
                    490: .IQ delete-buffer
                    491: except it only erases the contents of the buffer, not
                    492: the buffer itself.  If you try to erase a buffer that needs saving you
                    493: will be asked to confirm it.
                    494: .dc "error-format-string" "(variable)"
                    495: This is the error format string that is used by
                    496: .IQ parse-errors
                    497: to find the error messages in a buffer.  The way it works is by using
                    498: this string as a \s-2JOVE\s0 regular expression search string, where the
                    499: \e('s and \e)'s regular expression operators are used to pick out the
                    500: file name and line number from the line containing an error message.  For
                    501: instance, a typical error message might look like this:
                    502: .sp 1
                    503:        "file.c", line 540: missing semi-colon
                    504: .sp 1
                    505: For strings of this format, an appropriate value for
                    506: .IQ error-format-string
                    507: would be something like this:
                    508: .sp 1
                    509:        ^"\e([^"]*\e)", line \e([0-9]*\e):
                    510: .sp 1
                    511: What this means is, to find an error message, search for a line beginning
                    512: with a double-quote.  Then it says that all the following characters up
                    513: to another double-quote should be remembered as one unit, namely the
                    514: filename that the error is in (that's why the first set of parens are
                    515: surrounding it).  Then it says that after the filename there will be the
                    516: string ", line " followed by a line number, which should be remembered as
                    517: a single unit (which is why the second set of parens is around that).
                    518: The only constraints on the error messages is that the file name and line
                    519: number appear on the same line, and that the file name appears before the
                    520: line number.  Most compilers seem to do this anyway, so this is not an
                    521: unreasonable restriction.
                    522: .sp 1
                    523: If you do not know how to use regular expressions then this variable will
                    524: be hard for you to use.  Also note that you can look at the default
                    525: value of this variable by printing it out, but it is a really complicated
                    526: string because it is trying to accommodate the outputs of more than one
                    527: compiler at a time.
                    528: .dc "error-window-size" "(variable)"
                    529: This is the percentage of the screen to use for the error-window on the
                    530: screen.  When you execute
                    531: .IQ compile-it,
                    532: .IQ error-window-size
                    533: percent of the screen will go to the error window.  If the window already
                    534: exists and is a different size, it is made to be this size.  The default
                    535: value is 20%.
                    536: .dc "exchange-point-and-mark" "C-X C-X"
                    537: This moves point to mark and makes mark the old point.  This is for
                    538: quickly moving from one end of the region to another.
                    539: .dc "execute-kbd-macro" "C-X E"
                    540: This executes the keyboard macro.  If you supply a numeric argument the
                    541: macro is executed that many times.
                    542: .dc "execute-macro" "Not Bound"
                    543: This executes a specified macro.  If you supply a numeric argument the
                    544: macro is executed that many times.
                    545: .dc "execute-named-command" "ESC X"
                    546: This is the way to execute a command that isn't bound to any key.  When
                    547: you are prompted with ": " you can type the name of the command.  You
                    548: don't have to type the entire name.  Once the command is unambiguous you
                    549: can type Space and \s-2JOVE\s0 will fill in the rest for you.  If you are
                    550: not sure of the name of the command, type "?" and \s-2JOVE\s0 will print
                    551: a list of all the commands that you could possibly match given what
                    552: you've already typed.  If you don't have any idea what the command's name
                    553: is but you know it has something to do with windows (for example), you
                    554: can do "ESC X apropos window" and \s-2JOVE\s0 will print a list of all
                    555: the commands that are related to windows.  If you find yourself
                    556: constantly executing the same commands this way you probably want to bind
                    557: them to keys so that you can execute them more quickly.  See the
                    558: .IQ bind-to-key
                    559: command.
                    560: .dc "exit-jove" "C-X C-C"
                    561: This exits \s-2JOVE\s0.  If any buffers need saving \s-2JOVE\s0 will print a warning
                    562: message and ask for confirmation.  If you leave without saving your
                    563: buffers all your work will be lost.  If you made a mistake and really
                    564: do want to exit then you can.  If you are in a recursive editing level
                    565: .IQ exit-jove
                    566: will return you from that.
                    567: .dc "expand-environment-variables" "Variable"
                    568: When this variable is on JOVE will try to expand any strings of the form
                    569: "$var" into the value of the environment variable "var" when in the
                    570: minibuffer.  For example, if you type $HOME/.joverc, "$HOME" will be
                    571: replaced with you home directory.  The default value is off.
                    572: .dc "file-creation-mode" "(variable)"
                    573: This variable has an octal value.  It contains the mode (see
                    574: .IQ chmod(1)
                    575: ) with which files should be created.  This mode gets modified by your
                    576: current umask setting (see
                    577: .IQ umask(1)
                    578: ).  The default value is usually
                    579: .IQ 0666
                    580: or
                    581: .IQ 0644.
                    582: .dc "files-should-end-with-newline" "(variable)"
                    583: This variable indicates that all files should always have a newline
                    584: at the end.  This is often necessary for line printers and the like.
                    585: When set, if \s-2JOVE\s0 is writing a file whose last character is not a
                    586: newline, it will add one automatically.
                    587: .dc "fill-comment" "Not Bound"
                    588: This command fills in your C comments to make them pretty and readable.
                    589: This filling is done according the variable
                    590: .IQ comment-format.
                    591: .DS L
                    592: /*
                    593:  * the default format makes comments like this.
                    594:  */
                    595: .DE
                    596: This can be changed by changing the format variable.  Other languages
                    597: may be supported by changing the format variable appropriately.  The
                    598: formatter looks backwards from dot for an open comment symbol.  If 
                    599: found, all indentation is done relative the position of the first character
                    600: of the open symbol.  If there is a matching close symbol, the entire 
                    601: comment is formatted.  If not, the region between dot and the open symbol
                    602: is reformatted.
                    603: .dc "fill-paragraph" "ESC J"
                    604: This rearranges words between lines so that all the lines in the current
                    605: paragraph extend as close to the right margin as possible, ensuring that
                    606: none of the lines will be greater than the right margin.  The default value
                    607: for
                    608: .IQ right-margin
                    609: is 78, but can be changed with the
                    610: .IQ set
                    611: and
                    612: .IQ right-margin-here
                    613: commands.  \s-2JOVE\s0 has a complicated algorithm
                    614: for determining the beginning and end of the paragraph.  In the normal case
                    615: \s-2JOVE\s0 will give all the lines the same indent as they currently have,
                    616: but if you wish to force a new indent you can supply a numeric argument to
                    617: .IQ fill-paragraph
                    618: (e.g., by typing C-U ESC J)
                    619: and \s-2JOVE\s0 will indent each line to the column
                    620: specified by the
                    621: .IQ left-margin
                    622: variable.  See also the
                    623: .IQ left-margin
                    624: variable and
                    625: .IQ left-margin-here
                    626: command.
                    627: .dc "fill-region" "Not Bound"
                    628: This is like
                    629: .IQ fill-paragraph,
                    630: except it operates on a region instead of
                    631: just a paragraph.
                    632: .dc "filter-region" "Not Bound"
                    633: This sends the text in the region to a UNIX command, and replaces the
                    634: region with the output from that command.  For example, if you are
                    635: lazy and don't like to take the time to write properly indented C
                    636: code, you can put the region around your C file and
                    637: .IQ filter-region
                    638: it
                    639: through
                    640: .IQ cb,
                    641: the UNIX C beautifier.  If you have a file that contains
                    642: a bunch of lines that need to be sorted you can do that from inside
                    643: \s-2JOVE\s0 too, by filtering the region through the
                    644: .IQ sort
                    645: UNIX command.
                    646: Before output from the command replaces the region \s-2JOVE\s0 stores the old
                    647: text in the kill ring, so if you are unhappy with the results you can
                    648: easily get back the old text with "C-Y".
                    649: .dc "find-file" "C-X C-F"
                    650: This visits a file into its own buffer and then selects that buffer.
                    651: If you've already visited this file in another buffer, that buffer is
                    652: selected.  If the file doesn't yet exist, \s-2JOVE\s0 will print "(New file)"
                    653: so that you know.
                    654: .dc "find-tag" "C-X T"
                    655: This finds the file that contains the specified tag.  \s-2JOVE\s0 looks up
                    656: tags by default in the "tags" file in the current directory.  You can change
                    657: the default tag name by setting the
                    658: .IQ tag-file
                    659: variable to another
                    660: name.  If you specify a numeric argument to this command, you will be
                    661: prompted for a tag file.  This is a good way to specify another tag file
                    662: without changing the default.  If the tag cannot be found the error is
                    663: reported and point stays where it is.
                    664: .dc "find-tag-at-point" "Not Bound"
                    665: This finds the file that contains the tag that point is currently on.
                    666: See
                    667: .IQ find-tag.
                    668: .dc "first-non-blank" "ESC M"
                    669: This moves point back to the indent of the current line.
                    670: .dc "foreground-color" "(variable)"
                    671: This specifies the foreground color of the screen (PC version only).  The
                    672: default is 1, which stands for white.  The attribute used for writing to
                    673: the screen is formed by (bg&7)<<4 & (fg&7).
                    674: .dc "forward-character" "C-F"
                    675: This moves forward over a single character.  If point is at the end of
                    676: the line it moves to the beginning of the next one.
                    677: .dc "forward-list" "ESC C-N"
                    678: This is like
                    679: .IQ forward-s-expression
                    680: except it moves over lists ONLY.  What this does is search for the next
                    681: "(" and then move to the matching ")".  This is useful for when you are
                    682: trying to find mismatched parentheses in a program.
                    683: .dc "forward-paragraph" "ESC ]"
                    684: This moves point forward to the end of the current or next paragraph.
                    685: Paragraphs are bounded by lines that begin with a Period or Tab, or by blank
                    686: lines; a change in indentation may also signal a break between paragraphs,
                    687: except that \s-2JOVE\s0 allows the first line of a paragraph to be indented
                    688: differently from the other lines.
                    689: .dc "forward-s-expression" "ESC C-F"
                    690: This moves point forward over a s-expression.  If the first significant
                    691: character after point is "(", this moves past the matching ")".  If the
                    692: character begins an identifier, this moves just past it.  This is mode
                    693: dependent, so this will move over atoms in LISP mode and C identifiers in C
                    694: mode.  \s-2JOVE\s0 also matches "{".
                    695: .dc "forward-sentence" "ESC E"
                    696: This moves point forward to the end of the current or next sentence.
                    697: \s-2JOVE\s0 considers the end of a sentence to be the characters ".", "!" or
                    698: "?" followed by a Return, or one or more spaces.
                    699: .dc "forward-word" "ESC F"
                    700: This moves point forward to the end of the current or next word.
                    701: .dc "fundamental-mode" "Not Bound"
                    702: This sets the major mode to Fundamental.  This affects what \s-2JOVE\s0
                    703: considers as characters that make up words.  For instance,
                    704: Single-quote is not part of a word in Fundamental mode, but is in Text
                    705: mode.
                    706: .dc "gather-numeric-argument" "C-U"
                    707: This command is one of two ways to specify a numeric argument to a
                    708: command.  It's usually bound to C-U.  Typing C-U once means, Do the next
                    709: command 4 times.  Typing C-U twice will do the next command 16 times, and
                    710: so on.  If at any point you type a number, then that number will be used
                    711: instead of 4.  For instance, C-U 3 5 means do the next command 35 times.
                    712: .dc "goto-line" "ESC G"
                    713: If a numeric argument is supplied point moves to the beginning of that
                    714: line.  If no argument is supplied one is prompted for.
                    715: .dc "goto-window-with-buffer" "Not Bound"
                    716: This command prompts for a buffer name and then selects that buffer.  If
                    717: the buffer is currently being displayed in one of the windows, that
                    718: window is selected instead.
                    719: .dc "grind-s-expr" "Not Bound"
                    720: When point is positioned on a "(", this re-indents that LISP expression.
                    721: .dc "grow-window" "C-X ^"
                    722: This makes the current window one line bigger.  This only works when
                    723: there is more than one window and provided there is room to change the
                    724: size.
                    725: .dc "handle-tab" "Tab"
                    726: This handles indenting to the "right" place in C and Lisp mode, and
                    727: just inserts itself in Text mode.
                    728: .dc "i-search-forward" "Not Bound"
                    729: Incremental search.  Like search-forward except that instead of prompting
                    730: for a string and searching for that string all at once, it accepts the string
                    731: one character at a time.  After each character you type as part of the search
                    732: string, it searches for the entire string so far.  When you like what it
                    733: found, type the Return key to finish the search.  You can take back a
                    734: character with Rubout and the search will back up to the position before
                    735: that character was typed.  C-G aborts the search.
                    736: .dc "i-search-reverse" "Not Bound"
                    737: Incremental search.  Like search-reverse except that instead of prompting
                    738: for a string and searching for that string all at once, it accepts the string
                    739: one character at a time.  After each character you type as part of the search
                    740: string, it searches for the entire string so far.  When you like what it
                    741: found, type the Return key to finish the search.  You can take back a
                    742: character with Rubout and the search will back up to the position before
                    743: that character was typed.  C-G aborts the search.
                    744: .dc "i-shell-command" "Not Bound"
                    745: This is like
                    746: .IQ shell-command
                    747: except it lets you continue with your
                    748: editing while the command is running.  This is really useful for long
                    749: running commands with sporadic output.  See the manual for information
                    750: on how to use interactive processes.
                    751: .dc "insert-file" "C-X C-I"
                    752: This inserts a specified file into the current buffer at point.  Point
                    753: is positioned at the beginning of the inserted file.
                    754: .dc "internal-tabstop" "(variable)"
                    755: The number of spaces \s-2JOVE\s0 should print when it displays a tab character.
                    756: The default value is 8.
                    757: .dc "interrupt-character" "(variable)"
                    758: This is set to the character that interrupts JOVE (with a signal) no matter
                    759: what JOVE is doing.  It's main use is for interrupting non-interactive
                    760: processes, but it also has uses for debugging.  Unfortunately there is no
                    761: way to turn off the interrupt character.
                    762: .dc "interrupt-process" "Not Bound"
                    763: This sends the interrupt character (usually C-C) to the interactive process
                    764: in the current buffer.  This is only for versions of \s-2JOVE\s0 that have the
                    765: interactive processes feature.  This only works when you are inside a buffer
                    766: that's attached to a process.
                    767: .dc "kill-next-word" "ESC D"
                    768: This kills the text from point to the end of the current or next word.
                    769: .dc "kill-previous-word" "ESC Rubout"
                    770: This kills the text from point to the beginning of the current or
                    771: previous word.
                    772: .dc "kill-process" "Not Bound"
                    773: This command prompts for a buffer name or buffer number (just as
                    774: select-buffer does) and then sends the process in that buffer a
                    775: kill signal (9).
                    776: .dc "kill-region" "C-W"
                    777: This deletes the text in the region and saves it on the kill ring.
                    778: Commands that delete text but save it on the kill ring all have the
                    779: word "kill" in their names.  Type "C-Y" to yank back the most recent
                    780: kill.
                    781: .dc "kill-s-expression" "ESC C-K"
                    782: This kills the text from point to the end of the current or next
                    783: s-expression.
                    784: .dc "kill-some-buffers" "Not Bound"
                    785: This goes through all the existing buffers and asks whether or not to kill
                    786: them.  If you decide to kill a buffer, and it turns out that the buffer is
                    787: modified, \s-2JOVE\s0 will offer to save it first.  This is useful for when \s-2JOVE\s0
                    788: runs out of memory to store lines (this only happens on PDP-11's) and you
                    789: have lots of buffers that you are no longer using.
                    790: .dc "kill-to-beginning-of-sentence" "C-X Rubout"
                    791: This kills from point to the beginning of the current or previous
                    792: sentence.
                    793: .dc "kill-to-end-of-line" "C-K"
                    794: This kills from point to the end of the current line.  When point is
                    795: at the end of the line the line separator is deleted and the next line
                    796: is joined with current one.  If a numeric argument is supplied that
                    797: many lines are killed; if the argument is negative that many lines
                    798: .IQ before
                    799: point are killed; if the argument is zero the text from point
                    800: to the beginning of the line is killed.
                    801: .dc "kill-to-end-of-sentence" "ESC K"
                    802: This kills from point to the end of the current or next sentence.  If a
                    803: negative numeric argument is supplied it kills from point to the
                    804: beginning of the current or previous sentence.
                    805: .dc "left-margin" "(variable)"
                    806: This is how far lines should be indented when auto-indent mode is on,
                    807: or when the
                    808: .IQ newline-and-indent
                    809: command is run (usually by typing
                    810: LineFeed).  It is also used by fill-paragraph and auto-fill mode.
                    811: If the value is zero (the default) then the left margin is determined
                    812: from the surrounding lines.
                    813: .dc "left-margin-here" "Not Bound"
                    814: This sets the
                    815: .IQ left-margin
                    816: variable to the current position of
                    817: point.  This is an easy way to say, "Make the left margin begin here,"
                    818: without having to count the number of spaces over it actually is.
                    819: .dc "lisp-mode" "Not Bound"
                    820: This turns on Lisp mode.  Lisp mode is one of four mutually exclusive major
                    821: modes: Fundamental, Text, C, and Lisp.  In Lisp mode, the characters Tab
                    822: and ) are treated specially, similar to the way they are treated in C mode.
                    823: Also, Auto Indent mode is affected, and handled specially.
                    824: .dc "list-buffers" "C-X C-B"
                    825: This types out a list containing various information about each buffer.
                    826: Right now that list looks like this:
                    827: .DS
                    828: .ta \w'NO111'u +\w'Lines1'u +\w'Scratch111'u +\w'*1'u +\w'commands.doc111'u
                    829: \ (* means the buffer needs saving)
                    830: \ NO   Lines   Type            Name    File
                    831: \ --   -----   ----            ----    ----
                    832: \ 1    1       File            Main    [No file]
                    833: \ 2    1       Scratch *       Minibuf [No file]
                    834: \ 3    519     File    *       commands.doc    commands.doc
                    835: .DE
                    836: The first column lists the buffer's number.  When \s-2JOVE\s0 prompts for a
                    837: buffer name you can either type in the full name, or you can simply
                    838: type the buffer's number.  The second column is the number of lines in
                    839: the buffer.  The third says what type of buffer.  There are four
                    840: types: "File", "Scratch", "Process", "I-Process".  "File" is simply a
                    841: buffer that holds a file; "Scratch" is for buffers that \s-2JOVE\s0 uses
                    842: internally; "Process" is one that holds the output from a UNIX
                    843: command; "I-Process" is one that has an interactive process attached to
                    844: it.  The next column contains the name of the buffer.  And the last
                    845: column is the name of the file that's attached to the buffer.  In this
                    846: case, both Minibuf and commands.doc have been changed but not yet
                    847: saved.  In fact Minibuf won't be saved since it's an internal \s-2JOVE\s0
                    848: buffer that I don't even care about.
                    849: .dc "list-processes" "Not Bound"
                    850: This makes a list somewhat like "list-buffers" does, except its
                    851: list consists of the current interactive processes.  Right now the list
                    852: looks like this:
                    853: .DS
                    854: .ta \w'shell-111111111111'u +\w'Running1111111111'u
                    855: \ Buffer       Status  Pid    Command
                    856: \ ------       ------  ---    -------
                    857: \ *shell*      Running 18415   shell
                    858: \ fgrep        Done    18512   fgrep -n Buffer *.c
                    859: .DE
                    860: The first column has the name of the buffer to which the process is
                    861: attached.  The second has the status of the process; if a process has
                    862: exited normally the status is "Done" as in fgrep; if the process
                    863: exited with an error the status is "Exit N" where N is the value of
                    864: the exit code; if the process was killed by some signal the status is
                    865: the name of the signal that was used; otherwise the process is
                    866: running.  The last column is the name of the command that is being run.
                    867: .dc "mail-check-frequency" "(variable)"
                    868: This is how often (in seconds) \s-2JOVE\s0 should check your mailbox for
                    869: incoming mail.  See also the
                    870: .IQ mailbox
                    871: and
                    872: .IQ disable-biff
                    873: variables.
                    874: .dc "mailbox" "(variable)"
                    875: Set this to the full pathname of your mailbox.  \s-2JOVE\s0 will look here to
                    876: decide whether or not you have any unread mail.  This defaults to
                    877: /usr/spool/mail/$USER, where $USER is set to your login name.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.