home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / editor / jove / cmds.doc next >
Text File  |  1994-01-31  |  88KB  |  1,799 lines

  1. Alphabetical List of Commands and Variables
  2.  
  3. :entry "abort-char" "Variable"
  4. This  variable  defines  JOVE'S  abort  character.   When  the   abort
  5. character  is typed, the current JOVE command is aborted.  The default
  6. value is C-G.
  7.  
  8. :entry "add-lisp-special" "Command"
  9. This  command  is  to  tell  JOVE  what  identifiers  require  special
  10. indentation  in  lisp mode.  Lisp functions like defun and let are two
  11. of the default functions that get treated specially.  This is  just  a
  12. kludge to define some of your own.  It prompts for the function name.
  13.  
  14. :entry "allow-^S-and-^Q" "Variable"
  15. This variable, when set, tells JOVE that your terminal does  not  need
  16. to  use  the  characters  C-S and C-Q for flow control, and that it is
  17. okay to bind things to them.  This variable should  be  set  depending
  18. upon what kind of terminal you have.
  19.  
  20. :entry "allow-bad-filenames" "Variable"
  21. If set, this variable permits filenames to  contain  "bad"  characters
  22. such as those from the set *&%!"`[]{}.  These files are harder to deal
  23. with, because the characters mean something to the shell.  The default
  24. value is "off".
  25.  
  26. :entry "append-region" "Command"
  27. This appends the region to a specified file.  If  the  file  does  not
  28. already exist it is created.
  29.  
  30. :entry "apropos" "Command"
  31. This types out  all  the  commands,  variables  and  macros  with  the
  32. specific  keyword  in  their  names.   For each command and macro that
  33. contains the string, the key sequence that can be used to execute  the
  34. command  or  macro  is  printed;  with variables, the current value is
  35. printed.  So, to find all the commands that are  related  to  windows,
  36. you type
  37.  
  38.      ESC X apropos window<Return>
  39.  
  40.  
  41. :entry "auto-case-abbrev" "Variable"
  42. When this  variable  is  on  (the  default),  word  abbreviations  are
  43. adjusted  for  case  automatically.   For  example, if "jove" were the
  44. abbreviation for "jonathan's own version of emacs", then typing "jove"
  45. would  give you "jonathan's own version of emacs", typing "Jove" would
  46. give you "Jonathan's own version of emacs", and  typing  "JOVE"  would
  47. give  you  "Jonathan's  Own  Version of Emacs".  When this variable is
  48. "off", upper and lower case are distinguished  when  looking  for  the
  49. abbreviation,  i.e., in the example above, "JOVE" and "Jove" would not
  50. be expanded unless they were defined separately.
  51.  
  52. :entry "auto-execute-command" "Command"
  53. This tells JOVE to execute a command automatically when a  file  whose
  54. name  matches  a  specified pattern is visited.  The first argument is
  55. the command you want executed and the second is a  regular  expression
  56. pattern that specifies the files that apply.  For example, if you want
  57. to be in show-match-mode when you edit C source files (that is,  files
  58. that end with ".c" or ".h") you can type
  59.  
  60.      ESC X auto-execute-command show-match-mode .*.[ch]$
  61.  
  62.  
  63. :entry "auto-execute-macro" "Command"
  64. This is like "auto-execute-command"  except  you  use  it  to  execute
  65. macros automatically instead of built-in commands.
  66.  
  67. :entry "auto-fill-mode" "Command"
  68. This turns on Auto Fill mode (or off if  it's  currently  on)  in  the
  69. selected  buffer.   When  JOVE  is  in Auto Fill mode it automatically
  70. breaks lines for you when you reach the right margin so you don't have
  71. to  remember  to hit Return.  JOVE uses 78 as the right margin but you
  72. can change that by setting  the  variable  "right-margin"  to  another
  73. value.  See the "set" command to learn how to do this.
  74.  
  75. :entry "auto-indent-mode" "Command"
  76. This turns on Auto Indent mode (or off if it's currently  on)  in  the
  77. selected buffer.  When JOVE is in Auto Indent mode, Return indents the
  78. new line to the same position as the line you were just on.   This  is
  79. useful  for  lining up C code (or any other language (but what else is
  80. there besides C?)).  This is out of date because of  the  new  command
  81. called   "newline-and-indent"   but  it  remains  because  of  several
  82. "requests" on the part of, uh, enthusiastic and excitable users,  that
  83. it be left as it is.
  84.  
  85. :entry "background-color" "Variable"
  86. This specifies the background color of the screen (PC  version  only).
  87. The default value is 0, which stands for black.
  88.  
  89. :entry "backward-character" "Command"
  90. This moves point backward over a single character.  If point is at the
  91. beginning of the line it moves to the end of the previous line.
  92.  
  93. :entry "backward-list" "Command"
  94. This moves backward over a list as opposed to  an  s-expression.   The
  95. difference between this and "backward-s-expression" is that this first
  96. searchs for a ")" and then moves to the matching "(".  This is  useful
  97. when you're trying to find unmatched parens in a program.
  98.  
  99. :entry "backward-paragraph" "Command"
  100. This moves point backward to the beginning of the current or  previous
  101. paragraph.   Paragraphs  are bounded by lines that begin with a Period
  102. or Tab, or by blank lines; a change in indentation may also  signal  a
  103. break  between paragraphs, except that JOVE allows the first line of a
  104. paragraph to be indented differently from the other lines.
  105.  
  106. :entry "backward-s-expression" "Command"
  107. This moves point backward  over  a  s-expression.   It  is  just  like
  108. "forward-s-expression" with a negative argument.
  109.  
  110. :entry "backward-sentence" "Command"
  111. This moves point backward to the beginning of the current or  previous
  112. sentence.   JOVE  considers the end of a sentence to be the characters
  113. ".", "!" or "?" followed by a Return or by one or more spaces.
  114.  
  115. :entry "backward-up-list" "Command"
  116. This is similar to "backward-s-expression" except it backs up and  OUT
  117. of  the  enclosing s-expression.  In other words, it moves backward to
  118. the "(" that would match a ")" if you were to type it right then.
  119.  
  120. :entry "backward-word" "Command"
  121. This moves point backward to the beginning of the current or  previous
  122. word.
  123.  
  124. :entry "bad-filename-extensions" "Variable"
  125. This contains a list of words separated by  spaces  which  are  to  be
  126. considered  bad  filename  extensions,  and  so will not be counted in
  127. filename completion.  The default is ".o" so if you  have  jove.c  and
  128. jove.o  in  the  same  directory,  the  filename  completion  will not
  129. complain of an ambiguity because it will ignore jove.o.
  130.  
  131. :entry "begin-kbd-macro" "Command"
  132. This starts defining the keyboard macro by remembering  all  your  key
  133. strokes until you execute "end-kbd-macro," by typing "C-X )".  Because
  134. of a bug in JOVE you shouldn't terminate the macro by  typing  "ESC  X
  135. end-kbd-macro";  "end-kbd-macro"  must be bound to "C-X )" in order to
  136. make things work correctly.  To execute the remembered key strokes you
  137. type  "C-X  E"  which runs the "execute-kbd-macro" command.  Sometimes
  138. you may want a macro to accept different input each time it runs.   To
  139. see how to do this, see the "make-macro-interactive" command.
  140.  
  141. :entry "beginning-of-file" "Command"
  142. This moves point backward  to  the  beginning  of  the  buffer.   This
  143. sometimes prints the "Point Pushed" message.  If the top of the buffer
  144. isn't on the screen JOVE will set the mark so you can go back to where
  145. you were if you want.
  146.  
  147. :entry "beginning-of-line" "Command"
  148. This moves point to the beginning of the current line.
  149.  
  150. :entry "beginning-of-window" "Command"
  151. This moves point to the beginning of the current window.  The sequence
  152. "ESC  ," is the same as "ESC <" (beginning of file) except without the
  153. shift key on the "<", and can thus can easily be remembered.
  154.  
  155. :entry "bind-keymap-to-key" "Command"
  156. This is the way to build  nested  keymaps.   For  example,  when  JOVE
  157. starts up, internally it does a
  158.  
  159.      bind-keymap-to-key ESC-map ^[
  160.  
  161. To make the arrow keys on vt100's work, you would do the following.
  162.  
  163.      make-keymap vt100-map
  164.      bind-keymap-to-key vt100-map ^[[
  165.      bind-to-key next-line ^[[A
  166.      bind-to-key previous-line ^[[B
  167.      bind-to-key forward-character ^[[C
  168.      bind-to-key backward-character ^[[D
  169.  
  170. I may have gotten the escape sequences wrong, but you get the  general
  171. idea.   Theoretically  you  can  use these keymaps to bind arbitrarily
  172. long key sequences, like those generated by  the  SUN  keyboards,  but
  173. that  is  a bit of a pain because you will have to generate a bunch of
  174. keymaps by hand, almost one per  key,  because  of  the  way  the  key
  175. sequences  are organized.  Eventually there will be a more general way
  176. to have these keymaps built for you.
  177.  
  178. :entry "bind-macro-to-key" "Command"
  179. This is like "bind-to-key" except you use it to attach keys  to  named
  180. macros.
  181.  
  182. :entry "bind-macro-to-word-abbrev" "Command"
  183. This command allows you to bind a macro to a previously  defined  word
  184. abbreviation.   Whenever  you  type the abbreviation, it will first be
  185. expanded as an abbreviation, and then  the  macro  will  be  executed.
  186. Note  that  if  the  macro moves around, you should set the mark first
  187. (C-@) and then exchange the point and mark last (C-X C-X).
  188.  
  189. :entry "bind-to-key" "Command"
  190. This attaches a key to an internal JOVE command so that future hits on
  191. that  key  invoke  that command.  For example, to make "C-W" erase the
  192. previous word, you type "ESC X bind-to-key kill-previous-word C-W".
  193.  
  194. :entry "buffer-position" "Command"
  195. This displays the current file name, current line number, total number
  196. of  lines, percentage of the way through the file, and the position of
  197. the cursor in the current line.
  198.  
  199. :entry "c-argument-indentation" "Variable"
  200. This variable describes how to indent lines which are part  of  nested
  201. expressions  in  C.   The  default  is  -1,  which  means  to indent a
  202. continued line by lining it up with the first argument of the  current
  203. expression.   Otherwise,  the  line  will  be  indented by c-argument-
  204. indentation characters past the  indent  of  the  first  line  of  the
  205. expression.  For example, the default value produces:
  206.                 Typeout(fmt, itoa(bcount++), line_cnt(b, nbuf),
  207.                         TypeNames[b->b_type],
  208.                         IsModified(b) ? "*" : b->b_ntbf ? "+" : NullStr,
  209.                         buf_width, b->b_name, filename(b));
  210.  
  211. :entry "c-indentation-increment" "Variable"
  212. This defines a set of tabstops independent of the value  of  internal-
  213. tabstops  and  physical-tabstops.   This value will be used in C mode,
  214. and JOVE will insert the correct number of spaces and Tabs to get  the
  215. right  behavior.   For  programmers that like to indent with 4 spaces,
  216. set this value to 4.  Don't set internal-tabstops to  4  because  that
  217. will  not  work anymore.  Setting internal-tabstops to 4 tells JOVE to
  218. display Tabs as every 4 spaces.  This will cause your programs to look
  219. terrible  with  anyone else who displays the file with normal tabstops
  220. at every 8 characters.  Not to mention  printing  your  program  won't
  221. look right.  But all that aside, if you set c-indentation-increment to
  222. 8 (the default), and then set internal-tabstops to  4  as  well,  JOVE
  223. will insert TWO Tabs to get the indentation to 8, which is clearly not
  224. what you want.
  225.  
  226. :entry "c-mode" "Command"
  227. This turns on C mode in the currently selected buffer.  This is one of
  228. currently  four  possible  major  modes:   Fundamental, Text, C, Lisp.
  229. When in C or Lisp mode, Tab, "}", and ")" behave a little  differently
  230. from  usual:  They  are  indented to the "right" place for C (or Lisp)
  231. programs.  In JOVE, the "right" place is simply  the  way  the  author
  232. likes it (but I've got good taste).
  233.  
  234. :entry "case-character-capitalize" "Command"
  235. This capitalizes the character after point, i.e., the character  under
  236. the  cursor.   If a negative argument is supplied that many characters
  237. "before" point are upper cased.
  238.  
  239. :entry "case-ignore-search" "Variable"
  240. This variable, when set, tells JOVE to treat upper and lower  case  as
  241. the  same  when  searching.   Thus  "jove" and "JOVE" would match, and
  242. "JoVe" would match either.  The default  value  of  this  variable  is
  243. "off".
  244.  
  245. :entry "case-region-lower" "Command"
  246. This changes all the upper case letters in the region to  their  lower
  247. case equivalent.
  248.  
  249. :entry "case-region-upper" "Command"
  250. This changes all the lower case letters in the region to  their  upper
  251. case equivalent.
  252.  
  253. :entry "case-word-capitalize" "Command"
  254. This capitalizes the current word by making the current  letter  upper
  255. case  and  making  the rest of the word lower case.  Point is moved to
  256. the end of the word.  If point is not positioned on a word it is first
  257. moved  forward  to  the  beginning  of  the  next word.  If a negative
  258. argument is supplied that many words "before" point  are  capitalized.
  259. This  is  useful  for correcting the word just typed without having to
  260. move point to the beginning of the word yourself.
  261.  
  262. :entry "case-word-lower" "Command"
  263. This lower-cases the current word and leaves point at the end  of  it.
  264. If point is in the middle of a word the rest of the word is converted.
  265. If point is not in a word it is first moved forward to  the  beginning
  266. of  the next word.  If a negative argument is supplied that many words
  267. "before" point are converted  to  lower  case.   This  is  useful  for
  268. correcting  the  word  just  typed without having to move point to the
  269. beginning of the word yourself.
  270.  
  271. :entry "case-word-upper" "Command"
  272. This upper-cases the current word and leaves point at the end  of  it.
  273. If point is in the middle of a word the rest of the word is converted.
  274. If point is not in a word it is first moved forward to  the  beginning
  275. of  the next word.  If a negative argument is supplied that many words
  276. "before" point are converted  to  upper  case.   This  is  useful  for
  277. correcting  the  word  just  typed without having to move point to the
  278. beginning of the word yourself.
  279.  
  280. :entry "cd" "Command"
  281. This changes the current directory.
  282.  
  283. :entry "character-to-octal-insert" "Command"
  284. This inserts a Back-slash followed by the  ascii  value  of  the  next
  285. character typed.  For example, "C-G" inserts the string "\007".
  286.  
  287. :entry "clear-and-redraw" "Command"
  288. This clears the entire screen and redraws all the windows.   Use  this
  289. when JOVE gets confused about what's on the screen, or when the screen
  290. gets filled with garbage characters or output from another program.
  291.  
  292. :entry "comment-format" "Variable"
  293. This variable tells JOVE how to format your comments when you run  the
  294. command "fill-comment." Its format is this:
  295.  
  296.      <open pattern>%!<line header>%c<line trailer>%!<close pattern>
  297.  
  298. The %!, %c, and %! must appear  in  the  format;  everything  else  is
  299. optional.   A  newline  (represented  by %n) may appear in the open or
  300. close patterns.  %% is the representation for %.  The default  comment
  301. format is for C comments.  See "fill-comment" for more.
  302.  
  303. :entry "compile-it" "Command"
  304. This compiles your program by running the UNIX command "make"  into  a
  305. buffer,  and automatically parsing the error messages that are created
  306. (if any).  See the "parse-errors" command.  To  compile  a  C  program
  307. without  "make",  use "C-U C-X C-E" and JOVE will prompt for a command
  308. to run instead of make.  (And then the command you  type  will  become
  309. the default command.)  You can use this to parse the output from the C
  310. compiler or the "grep" or "lint" programs.   See  also  "error-format-
  311. string" to make it possible to parse errors of a different format.
  312.  
  313. :entry "continue-process" "Command"
  314. This sends SIGCONT  to  the  current  interactive  process,  "if"  the
  315. process is currently stopped.
  316.  
  317. :entry "copy-region" "Command"
  318. This takes all the text in the region and copies it onto the kill ring
  319. buffer.   This  is  just  like  running  "kill-region" followed by the
  320. "yank" command.  See the "kill-region" and "yank" commands.
  321.  
  322. :entry "current-error" "Command"
  323. This moves to the current error in the list of parsed errors.  See the
  324. "next-error"   and   "previous-error"   commands   for  more  detailed
  325. information.
  326.  
  327. :entry "date" "Command"
  328. This prints the date on the message line.
  329.  
  330. :entry "dbx-format-string" "Variable"
  331. This is the default regular-expression search string used by  JOVE  to
  332. parse  output from dbx running in a shell process.  The default format
  333. string works when you type "where" or while you're stepping through  a
  334. program, or when you reach a breakpoint.  You shouldn't have to change
  335. this unless you are using gdb or some other symbolic debugger.
  336.  
  337. :entry "define-global-word-abbrev" "Command"
  338. This defines a global abbreviation.
  339.  
  340. :entry "define-macro" "Command"
  341. This provides a different  mechanism  for  defining  keyboard  macros.
  342. Instead  of  gathering keystrokes and storing them into the "keyboard-
  343. macro" (which is how "start-kbd-macro" works), "define-macro"  prompts
  344. for  a macro name (terminated with Space, or Newline) and then for the
  345. actual macro body.  If you wish to specify control characters  in  the
  346. macro,  you may simply insert them (using the "quoted-insert" command)
  347. or by inserting the character '^' followed by the  appropriate  letter
  348. for  that character (e.g., ^A would be the two characters '^' followed
  349. by 'A').  You may  use  Back-slash  to  prevent  the  '^'  from  being
  350. interpreted  as  part  of  a control character when you really wish to
  351. insert one (e.g., a macro body "\^foo" would insert the string  "^foo"
  352. into  the  buffer, whereas the body "^foo" would be the same as typing
  353. ^F and then inserting the string "oo").  See "write-macros-to-file" to
  354. see how to save macros.
  355.  
  356. :entry "define-mode-word-abbrev" "Command"
  357. This defines a mode-specific abbreviation.
  358.  
  359. :entry "delete-blank-lines" "Command"
  360. This deletes all the blank lines around point.  This  is  useful  when
  361. you previously opened many lines with "C-O" and now wish to delete the
  362. unused ones.
  363.  
  364. :entry "delete-buffer" "Command"
  365. This deletes a buffer and frees up all the memory associated with  it.
  366. Be  careful(!)  -  once  a buffer has been deleted it is gone forever.
  367. JOVE will ask you to confirm if you try to delete a buffer that  needs
  368. saving.   This  command  is  useful for when JOVE runs out of space to
  369. store new buffers.
  370.  
  371. :entry "delete-current-window" "Command"
  372. This deletes the current window  and  moves  point  into  one  of  the
  373. remaining  ones.   It  is an error to try to delete the only remaining
  374. window.
  375.  
  376. :entry "delete-macro" "Command"
  377. This deletes a macro from the list of named macros.  It is an error to
  378. delete  the  keyboard-macro.   Once  the  macro  is deleted it is gone
  379. forever.  If you are about to save macros to a  file  and  decide  you
  380. don't want to save a particular one, delete it.
  381.  
  382. :entry "delete-next-character" "Command"
  383. This deletes the character that's  just  after  point  (that  is,  the
  384. character  under  the  cursor).  If point is at the end of a line, the
  385. line separator is deleted and the next line is joined with the current
  386. one.
  387.  
  388. :entry "delete-other-windows" "Command"
  389. This deletes all the other windows except the current one.   This  can
  390. be thought of as going back into One Window mode.
  391.  
  392. :entry "delete-previous-character" "Command"
  393. This deletes the character that's just  before  point  (that  is,  the
  394. character  before  the  cursor).   If point is at the beginning of the
  395. line, the line separator is deleted and that line is joined  with  the
  396. previous one.
  397.  
  398. :entry "delete-white-space" "Command"
  399. This deletes all the Tabs and Spaces around point.
  400.  
  401. :entry "describe-bindings" "Command"
  402. This types out a list containing each bound key and the  command  that
  403. gets  invoked  every  time that key is typed.  To make a wall chart of
  404. JOVE commands, set "send-typeout-to-buffer"  to  "on"  and  JOVE  will
  405. store  the  key  bindings in a buffer which you can save to a file and
  406. then print.
  407.  
  408. :entry "describe-command" "Command"
  409. This prints some info on a specified command.
  410.  
  411. :entry "describe-key" "Command"
  412. This waits for you to type a key  and  then  tells  the  name  of  the
  413. command  that  gets invoked every time that key is hit.  Once you have
  414. the name of the command you can use the "describe-command" command  to
  415. find out exactly what it does.
  416.  
  417. :entry "describe-variable" "Command"
  418. This prints some info on a specified variable.
  419.  
  420. :entry "digit" "Command"
  421. This reads a numeric argument.  When you  type  "ESC"  followed  by  a
  422. number,  "digit"  keeps  reading  numbers  until  you  type some other
  423. command.  Then that command is executes with the numeric argument  you
  424. specified.
  425.  
  426. :entry "digit-1" "Command"
  427. This pretends you typed "ESC 1".  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.  
  432. :entry "digit-2" "Command"
  433. This pretends you typed "ESC 2".  This is useful  for  terminals  that
  434. have  keypads  that  send  special  sequences for numbers typed on the
  435. keypad as opposed to numbers typed from the keyboard.  This  can  save
  436. having type "ESC" when you want to specify an argument.
  437.  
  438. :entry "digit-3" "Command"
  439. This pretends you typed "ESC 3".  This is useful  for  terminals  that
  440. have  keypads  that  send  special  sequences for numbers typed on the
  441. keypad as opposed to numbers typed from the keyboard.  This  can  save
  442. having type "ESC" when you want to specify an argument.
  443.  
  444. :entry "digit-4" "Command"
  445. This pretends you typed "ESC 4".  This is useful  for  terminals  that
  446. have  keypads  that  send  special  sequences for numbers typed on the
  447. keypad as opposed to numbers typed from the keyboard.  This  can  save
  448. having type "ESC" when you want to specify an argument.
  449.  
  450. :entry "digit-5" "Command"
  451. This pretends you typed "ESC 5".  This is useful  for  terminals  that
  452. have  keypads  that  send  special  sequences for numbers typed on the
  453. keypad as opposed to numbers typed from the keyboard.  This  can  save
  454. having type "ESC" when you want to specify an argument.
  455.  
  456. :entry "digit-6" "Command"
  457. This pretends you typed "ESC 6".  This is useful  for  terminals  that
  458. have  keypads  that  send  special  sequences for numbers typed on the
  459. keypad as opposed to numbers typed from the keyboard.  This  can  save
  460. having type "ESC" when you want to specify an argument.
  461.  
  462. :entry "digit-7" "Command"
  463. This pretends you typed "ESC 7".  This is useful  for  terminals  that
  464. have  keypads  that  send  special  sequences for numbers typed on the
  465. keypad as opposed to numbers typed from the keyboard.  This  can  save
  466. having type "ESC" when you want to specify an argument.
  467.  
  468. :entry "digit-8" "Command"
  469. This pretends you typed "ESC 8".  This is useful  for  terminals  that
  470. have  keypads  that  send  special  sequences for numbers typed on the
  471. keypad as opposed to numbers typed from the keyboard.  This  can  save
  472. having type "ESC" when you want to specify an argument.
  473.  
  474. :entry "digit-9" "Command"
  475. This pretends you typed "ESC 9".  This is useful  for  terminals  that
  476. have  keypads  that  send  special  sequences for numbers typed on the
  477. keypad as opposed to numbers typed from the keyboard.  This  can  save
  478. having type "ESC" when you want to specify an argument.
  479.  
  480. :entry "digit-0" "Command"
  481. This pretends you typed "ESC 0".  This is useful  for  terminals  that
  482. have  keypads  that  send  special  sequences for numbers typed on the
  483. keypad as opposed to numbers typed from the keyboard.  This  can  save
  484. having type "ESC" when you want to specify an argument.
  485.  
  486. :entry "dirs" "Command"
  487. This prints out the directory stack.  See the  "cd",  "pushd",  "popd"
  488. commands for more info.
  489.  
  490. :entry "disable-biff" "Variable"
  491. When this is set, JOVE disables biff when you're editing  and  enables
  492. it  again  when  you  get out of JOVE, or when you pause to the parent
  493. shell or push to a new shell. (This means arrival of new mail will not
  494. be  immediately  apparent but will not cause indiscriminate writing on
  495. the display). The default is "off".
  496.  
  497. :entry "display-bad-filenames" "Variable"
  498. This variable affects only filename completion,  in  particular,  what
  499. happens  when  "?"  is  typed  while  prompting for a file.  When this
  500. variable is ON, any files that end with one of the extensions  defined
  501. by  the  variable  "bad-filename-extensions" will be displayed with an
  502. "!" in front of their names.  When "display-bad-filenames" is OFF  the
  503. files will not be displayed at all.  The default value is on.
  504.  
  505. :entry "down-list" "Command"
  506. This is the opposite of "backward-up-list." It's not clear to me  that
  507. this  command  serves any useful purpose in life.  Try it out, and let
  508. me know what you think.
  509.  
  510. :entry "dstop-process" "Command"
  511. Send the "dsusp" character  to  the  current  process.   This  is  the
  512. character  that suspends a process on the next read from the terminal.
  513. Most people have it set to C-Y.  This  only  works  if  you  have  the
  514. interactive  process  feature,  and  if you are in a buffer bound to a
  515. process.
  516.  
  517. :entry "edit-word-abbrevs" "Command"
  518. This creates a buffer with a list of each abbreviation and the  phrase
  519. it  expands  into,  and  enters a recursive edit to let you change the
  520. abbreviations  or  add  some  more.   The  format  of  this  list   is
  521. "abbreviation:phrase"  so  if you add some more you should follow that
  522. format.  It's probably simplest just to  copy  some  already  existing
  523. abbreviations  and edit them.  When you are done you type "C-X C-C" to
  524. exit the recursive edit.
  525.  
  526. :entry "end-kbd-macro" "Command"
  527. This stops the definition of the keyboard macro.  Because of a bug  in
  528. JOVE, this must be bound to "C-X )", or some key sequence which is one
  529. or two characters long.  Anything else will not work properly.
  530.  
  531. :entry "end-of-file" "Command"
  532. This moves point forward to the end of  the  buffer.   This  sometimes
  533. prints  the "Point Pushed" message.  If the end of the buffer isn't on
  534. the screen JOVE will set the mark so you can go back to where you were
  535. if you want.
  536.  
  537. :entry "end-of-line" "Command"
  538. This moves point to the end of the current line.  If the line  is  too
  539. long  to  fit  on  the screen JOVE will scroll the line to the left to
  540. make the end of the line visible.  The line will  slide  back  to  its
  541. normal  position  when  you  move  backward  past the leftmost visible
  542. character or when you move off the line altogether.
  543.  
  544. :entry "end-of-window" "Command"
  545. This moves point to the last character in the window.
  546.  
  547. :entry "eof-process" "Command"
  548. Sends EOF to the current interactive  process.   This  only  works  on
  549. versions of JOVE running under versions of UNIX with pty's.
  550.  
  551. :entry "erase-buffer" "Command"
  552. This erases the contents  of  the  specified  buffer.   This  is  like
  553. "delete-buffer"  except it only erases the contents of the buffer, not
  554. the buffer itself.  If you try to erase a buffer that needs saving you
  555. will be asked to confirm it.
  556.  
  557. :entry "error-format-string" "Variable"
  558. This is the error format string that is used by "parse-errors" to find
  559. the  error  messages  in  a buffer.  The way it works is by using this
  560. string as a JOVE regular expression search string, where the \('s  and
  561. \)'s  regular  expression operators are used to pick out the file name
  562. and line number from  the  line  containing  an  error  message.   For
  563. instance, a typical error message might look like this:
  564.  
  565.         "file.c", line 540: missing semi-colon
  566.  
  567. For strings of this format, an appropriate  value  for  "error-format-
  568. string" would be something like this:
  569.  
  570.         ^"\([^"]*\)", line \([0-9]*\):
  571.  
  572. What this means is, to find  an  error  message,  search  for  a  line
  573. beginning  with  a  double-quote.  Then it says that all the following
  574. characters up to another double-quote  should  be  remembered  as  one
  575. unit,  namely  the filename that the error is in (that's why the first
  576. set of parens are surrounding  it).   Then  it  says  that  after  the
  577. filename there will be the string ", line " followed by a line number,
  578. which should be remembered as a single unit (which is why  the  second
  579. set  of  parens  is  around  that).  The only constraints on the error
  580. messages is that the file name and line  number  appear  on  the  same
  581. line,  and  that  the  file name appears before the line number.  Most
  582. compilers seem to do this anyway,  so  this  is  not  an  unreasonable
  583. restriction.
  584.  
  585. If you do not know how to use regular expressions then  this  variable
  586. will  be  hard  for  you  to  use.  Also note that you can look at the
  587. default value of this variable by printing it out, but it is a  really
  588. complicated  string because it is trying to accommodate the outputs of
  589. more than one compiler at a time.
  590.  
  591. :entry "error-window-size" "Variable"
  592. This is the percentage of the screen to use for  the  error-window  on
  593. the   screen.   When  you  execute  "compile-it,"  "error-window-size"
  594. percent of the screen will go to the  error  window.   If  the  window
  595. already  exists  and  is a different size, it is made to be this size.
  596. The default value is 20%.
  597.  
  598. :entry "exchange-point-and-mark" "Command"
  599. This moves point to mark and makes mark the old point.   This  is  for
  600. quickly moving from one end of the region to another.
  601.  
  602. :entry "execute-kbd-macro" "Command"
  603. This executes the keyboard macro.  If you supply  a  numeric  argument
  604. the macro is executed that many times.
  605.  
  606. :entry "execute-macro" "Command"
  607. This executes a specified macro.  If you supply a numeric argument the
  608. macro is executed that many times.
  609.  
  610. :entry "execute-named-command" "Command"
  611. This is the way to execute a command that  isn't  bound  to  any  key.
  612. When  you are prompted with ": " you can type the name of the command.
  613. You don't  have  to  type  the  entire  name.   Once  the  command  is
  614. unambiguous you can type Space and JOVE will fill in the rest for you.
  615. If you are not sure of the name of the command, type "?" and JOVE will
  616. print  a  list of all the commands that you could possibly match given
  617. what you've already typed.  If  you  don't  have  any  idea  what  the
  618. command's  name  is  but  you know it has something to do with windows
  619. (for example), you can do "ESC X apropos window" and JOVE will print a
  620. list  of  all  the  commands that are related to windows.  If you find
  621. yourself constantly executing the same commands this way you  probably
  622. want  to  bind them to keys so that you can execute them more quickly.
  623. See the "bind-to-key" command.
  624.  
  625. :entry "exit-jove" "Command"
  626. This exits JOVE.  If any buffers need saving JOVE will print a warning
  627. message  and  ask  for confirmation.  If you leave without saving your
  628. buffers all your work will be lost.  If you made a mistake and  really
  629. do want to exit then you can.  If you are in a recursive editing level
  630. "exit-jove" will return you from that.
  631.  
  632. :entry "expand-environment-variables" "Command"
  633. When this variable is on JOVE will try to expand any  strings  of  the
  634. form  "$var"  into the value of the environment variable "var" when in
  635. the minibuffer.  For example, if you type $HOME/.joverc, "$HOME"  will
  636. be replaced with you home directory.  The default value is off.
  637.  
  638. :entry "file-creation-mode" "Variable"
  639. This  variable  has  an  octal  value.   It  contains  the  mode  (see
  640. "chmod(1)"  )  with  which  files  should  be created.  This mode gets
  641. modified by your current umask setting (see "umask(1)" ).  The default
  642. value is usually "0666" or "0644."
  643.  
  644. :entry "files-should-end-with-newline" "Variable"
  645. This variable indicates that all files should always have a newline at
  646. the  end.   This  is  often  necessary for line printers and the like.
  647. When set, if JOVE is writing a file whose  last  character  is  not  a
  648. newline, it will add one automatically.
  649.  
  650. :entry "fill-comment" "Command"
  651. This command fills  in  your  C  comments  to  make  them  pretty  and
  652. readable.   This  filling  is  done  according  the variable "comment-
  653. format."
  654.  
  655.      /*
  656.       * the default format makes comments like this.
  657.       */
  658.  
  659. This can be changed by changing the format variable.  Other  languages
  660. may  be  supported by changing the format variable appropriately.  The
  661. formatter looks backwards from dot for an  open  comment  symbol.   If
  662. found,  all  indentation  is  done  relative the position of the first
  663. character of the open symbol.  If there is a  matching  close  symbol,
  664. the  entire  comment is formatted.  If not, the region between dot and
  665. the open symbol is reformatted.
  666.  
  667. :entry "fill-paragraph" "Command"
  668. This rearranges words between lines so  that  all  the  lines  in  the
  669. current  paragraph  extend  as  close to the right margin as possible,
  670. ensuring that none of the lines will be greater than the right margin.
  671. The  default  value  for "right-margin" is 78, but can be changed with
  672. the "set" and "right-margin-here" commands.  JOVE  has  a  complicated
  673. algorithm  for determining the beginning and end of the paragraph.  In
  674. the normal case JOVE will give all the lines the same indent  as  they
  675. currently have, but if you wish to force a new indent you can supply a
  676. numeric argument to "fill-paragraph" (e.g., by typing C-U ESC  J)  and
  677. JOVE  will  indent  each  line  to  the column specified by the "left-
  678. margin" variable.  See also  the  "left-margin"  variable  and  "left-
  679. margin-here" command.
  680.  
  681. :entry "fill-region" "Command"
  682. This is like "fill-paragraph," except it operates on a region  instead
  683. of just a paragraph.
  684.  
  685. :entry "filter-region" "Command"
  686. This sends the text in the region to a UNIX command, and replaces  the
  687. region  with  the  output  from that command.  For example, if you are
  688. lazy and don't like to take the time  to  write  properly  indented  C
  689. code, you can put the region around your C file and "filter-region" it
  690. through "cb," the UNIX C beautifier.  If you have a file that contains
  691. a  bunch  of  lines that need to be sorted you can do that from inside
  692. JOVE too, by filtering the region through  the  "sort"  UNIX  command.
  693. Before output from the command replaces the region JOVE stores the old
  694. text in the kill ring, so if you are unhappy with the results you  can
  695. easily get back the old text with "C-Y".
  696.  
  697. :entry "find-file" "Command"
  698. This visits a file into its own buffer and then selects  that  buffer.
  699. If  you've already visited this file in another buffer, that buffer is
  700. selected.  If the file doesn't yet exist, JOVE will print "(New file)"
  701. so that you know.
  702.  
  703. :entry "find-tag" "Command"
  704. This finds the file that contains the specified tag.   JOVE  looks  up
  705. tags  by default in the "tags" file in the current directory.  You can
  706. change the default tag name by  setting  the  "tag-file"  variable  to
  707. another  name.  If you specify a numeric argument to this command, you
  708. will be prompted for a tag file.   This  is  a  good  way  to  specify
  709. another  tag  file without changing the default.  If the tag cannot be
  710. found the error is reported and point stays where it is.
  711.  
  712. :entry "find-tag-at-point" "Command"
  713. This finds the file that contains the tag that point is currently  on.
  714. See "find-tag."
  715.  
  716. :entry "first-non-blank" "Command"
  717. This moves point back to the indent of the current line.
  718.  
  719. :entry "foreground-color" "Variable"
  720. This specifies the foreground color of the screen (PC  version  only).
  721. The  default  is  1,  which  stands for white.  The attribute used for
  722. writing to the screen is formed by (bg&7)<<4 & (fg&7).
  723.  
  724. :entry "forward-character" "Command"
  725. This moves forward over a single character.  If point is at the end of
  726. the line it moves to the beginning of the next one.
  727.  
  728. :entry "forward-list" "Command"
  729. This is like "forward-s-expression" except it moves over  lists  ONLY.
  730. What  this  does  is  search  for  the  next  "(" and then move to the
  731. matching ")".  This  is  useful  for  when  you  are  trying  to  find
  732. mismatched parentheses in a program.
  733.  
  734. :entry "forward-paragraph" "Command"
  735. This moves point forward to the end of the current or next  paragraph.
  736. Paragraphs are bounded by lines that begin with a Period or Tab, or by
  737. blank lines; a change in indentation may also signal a  break  between
  738. paragraphs,  except  that JOVE allows the first line of a paragraph to
  739. be indented differently from the other lines.
  740.  
  741. :entry "forward-s-expression" "Command"
  742. This  moves  point  forward  over  a  s-expression.   If   the   first
  743. significant character after point is "(", this moves past the matching
  744. ")".  If the character begins an identifier, this moves just past  it.
  745. This  is mode dependent, so this will move over atoms in LISP mode and
  746. C identifiers in C mode.  JOVE also matches "{".
  747.  
  748. :entry "forward-sentence" "Command"
  749. This moves point forward to the end of the current or  next  sentence.
  750. JOVE  considers the end of a sentence to be the characters ".", "!" or
  751. "?" followed by a Return, or one or more spaces.
  752.  
  753. :entry "forward-word" "Command"
  754. This moves point forward to the end of the current or next word.
  755.  
  756. :entry "fundamental-mode" "Command"
  757. This sets the major mode  to  Fundamental.   This  affects  what  JOVE
  758. considers  as  characters  that  make up words.  For instance, Single-
  759. quote is not part of a word in Fundamental mode, but is in Text mode.
  760.  
  761. :entry "gather-numeric-argument" "Command"
  762. This command is one of two ways to specify a  numeric  argument  to  a
  763. command.   It's  usually  bound to C-U.  Typing C-U once means, Do the
  764. next command 4 times.  Typing C-U twice will do the  next  command  16
  765. times, and so on.  If at any point you type a number, then that number
  766. will be used instead of 4.  For instance, C-U 3 5 means  do  the  next
  767. command 35 times.
  768.  
  769. :entry "goto-line" "Command"
  770. If a numeric argument is supplied point moves to the beginning of that
  771. line.  If no argument is supplied one is prompted for.
  772.  
  773. :entry "goto-window-with-buffer" "Command"
  774. This command prompts for a buffer name and then selects  that  buffer.
  775. If the buffer is currently being displayed in one of the windows, that
  776. window is selected instead.
  777.  
  778. :entry "grind-s-expr" "Command"
  779. When  point  is  positioned  on  a  "(",  this  re-indents  that  LISP
  780. expression.
  781.  
  782. :entry "grow-window" "Command"
  783. This makes the current window one line bigger.  This only  works  when
  784. there is more than one window and provided there is room to change the
  785. size.
  786.  
  787. :entry "handle-tab" "Command"
  788. This handles indenting to the "right" place in C and  Lisp  mode,  and
  789. just inserts itself in Text mode.
  790.  
  791. :entry "i-search-forward" "Command"
  792. Incremental  search.   Like  search-forward  except  that  instead  of
  793. prompting  for  a string and searching for that string all at once, it
  794. accepts the string one character at a time.  After each character  you
  795. type  as  part of the search string, it searches for the entire string
  796. so far.  When you like what it found, type the Return  key  to  finish
  797. the  search.  You can take back a character with Rubout and the search
  798. will back up to the position before that  character  was  typed.   C-G
  799. aborts the search.
  800.  
  801. :entry "i-search-reverse" "Command"
  802. Incremental  search.   Like  search-reverse  except  that  instead  of
  803. prompting  for  a string and searching for that string all at once, it
  804. accepts the string one character at a time.  After each character  you
  805. type  as  part of the search string, it searches for the entire string
  806. so far.  When you like what it found, type the Return  key  to  finish
  807. the  search.  You can take back a character with Rubout and the search
  808. will back up to the position before that  character  was  typed.   C-G
  809. aborts the search.
  810.  
  811. :entry "i-shell-command" "Command"
  812. This is like "shell-command" except it lets  you  continue  with  your
  813. editing  while the command is running.  This is really useful for long
  814. running commands with sporadic output.  See the manual for information
  815. on how to use interactive processes.
  816.  
  817. :entry "insert-file" "Command"
  818. This inserts a specified file into the current buffer at point.  Point
  819. is positioned at the beginning of the inserted file.
  820.  
  821. :entry "internal-tabstop" "Variable"
  822. The number of  spaces  JOVE  should  print  when  it  displays  a  tab
  823. character.  The default value is 8.
  824.  
  825. :entry "interrupt-character" "Variable"
  826. This is set to the character that interrupts JOVE (with a  signal)  no
  827. matter  what  JOVE  is  doing.  It's main use is for interrupting non-
  828. interactive  processes,  but  it  also   has   uses   for   debugging.
  829. Unfortunately there is no way to turn off the interrupt character.
  830.  
  831. :entry "interrupt-process" "Command"
  832. This sends the interrupt character (usually C-C)  to  the  interactive
  833. process in the current buffer.  This is only for versions of JOVE that
  834. have the interactive processes feature.  This only works when you  are
  835. inside a buffer that's attached to a process.
  836.  
  837. :entry "kill-next-word" "Command"
  838. This kills the text from point to the end of the current or next word.
  839.  
  840. :entry "kill-previous-word" "Command"
  841. This kills the text from point to the  beginning  of  the  current  or
  842. previous word.
  843.  
  844. :entry "kill-process" "Command"
  845. This command prompts for a buffer  name  or  buffer  number  (just  as
  846. select-buffer  does)  and then sends the process in that buffer a kill
  847. signal (9).
  848.  
  849. :entry "kill-region" "Command"
  850. This deletes the text in the region and saves it  on  the  kill  ring.
  851. Commands  that  delete  text but save it on the kill ring all have the
  852. word "kill" in their names.  Type "C-Y" to yank back the  most  recent
  853. kill.
  854.  
  855. :entry "kill-s-expression" "Command"
  856. This kills the text from point to the end of the current  or  next  s-
  857. expression.
  858.  
  859. :entry "kill-some-buffers" "Command"
  860. This goes through all the existing buffers and asks whether or not  to
  861. kill  them.  If you decide to kill a buffer, and it turns out that the
  862. buffer is modified, JOVE will offer to save it first.  This is  useful
  863. for  when JOVE runs out of memory to store lines (this only happens on
  864. PDP-11's) and you have lots of buffers that you are no longer using.
  865.  
  866. :entry "kill-to-beginning-of-sentence" "Command"
  867. This kills from point to the beginning  of  the  current  or  previous
  868. sentence.
  869.  
  870. :entry "kill-to-end-of-line" "Command"
  871. This kills from point to the end of the current line.  When  point  is
  872. at the end of the line the line separator is deleted and the next line
  873. is joined with current one.  If a numeric argument  is  supplied  that
  874. many  lines  are  killed;  if the argument is negative that many lines
  875. "before" point are killed; if the argument is zero the text from point
  876. to the beginning of the line is killed.
  877.  
  878. :entry "kill-to-end-of-sentence" "Command"
  879. This kills from point to the end of the current or next sentence.   If
  880. a  negative  numeric  argument  is supplied it kills from point to the
  881. beginning of the current or previous sentence.
  882.  
  883. :entry "left-margin" "Variable"
  884. This is how far lines should be indented when auto-indent mode is  on,
  885. or  when  the  "newline-and-indent"  command is run (usually by typing
  886. LineFeed).  It is also used by fill-paragraph and auto-fill mode.   If
  887. the  value  is  zero  (the default) then the left margin is determined
  888. from the surrounding lines.
  889.  
  890. :entry "left-margin-here" "Command"
  891. This sets the "left-margin" variable to the current position of point.
  892. This is an easy way to say, "Make the left margin begin here," without
  893. having to count the number of spaces over it actually is.
  894.  
  895. :entry "lisp-mode" "Command"
  896. This turns on Lisp mode.  Lisp mode is one of four mutually  exclusive
  897. major  modes:  Fundamental,  Text,  C,  and  Lisp.   In Lisp mode, the
  898. characters Tab and ) are treated specially, similar to  the  way  they
  899. are  treated  in  C  mode.   Also,  Auto  Indent mode is affected, and
  900. handled specially.
  901.  
  902. :entry "list-buffers" "Command"
  903. This types out  a  list  containing  various  information  about  each
  904. buffer.  Right now that list looks like this:
  905.  
  906.       (* means the buffer needs saving)
  907.       NO  Lines Type        Name           File
  908.       --  ----- ----        ----           ----
  909.       1   1     File        Main           [No file]
  910.       2   1     Scratch   * Minibuf        [No file]
  911.       3   519   File      * commands.doc   commands.doc
  912.  
  913. The first column lists the buffer's number.  When JOVE prompts  for  a
  914. buffer  name  you  can either type in the full name, or you can simply
  915. type the buffer's number.  The second column is the number of lines in
  916. the  buffer.   The  third  says  what  type of buffer.  There are four
  917. types: "File", "Scratch", "Process", "I-Process".  "File" is simply  a
  918. buffer  that  holds  a  file;  "Scratch" is for buffers that JOVE uses
  919. internally; "Process" is  one  that  holds  the  output  from  a  UNIX
  920. command;  "I-Process"  is one that has an interactive process attached
  921. to it.  The next column contains the name of the buffer.  And the last
  922. column is the name of the file that's attached to the buffer.  In this
  923. case, both Minibuf and commands.doc have  been  changed  but  not  yet
  924. saved.   In  fact  Minibuf  won't be saved since it's an internal JOVE
  925. buffer that I don't even care about.
  926.  
  927. :entry "list-processes" "Command"
  928. This makes a list somewhat like "list-buffers" does, except  its  list
  929. consists  of  the  current  interactive processes.  Right now the list
  930. looks like this:
  931.  
  932.       Buffer           Status           Pid    Command
  933.       ------           ------           ---    -------
  934.       *shell*          Running          18415shell
  935.       fgrep            Done             18512   fgrep -n Buffer *.c
  936.  
  937. The first column has the name of the buffer to which  the  process  is
  938. attached.   The second has the status of the process; if a process has
  939. exited normally the status is "Done"  as  in  fgrep;  if  the  process
  940. exited  with  an  error the status is "Exit N" where N is the value of
  941. the exit code; if the process was killed by some signal the status  is
  942. the  name  of  the  signal  that  was  used;  otherwise the process is
  943. running.  The last column is the name of the  command  that  is  being
  944. run.
  945.  
  946. :entry "mail-check-frequency" "Variable"
  947. This is how often (in seconds) JOVE  should  check  your  mailbox  for
  948. incoming mail.  If you set this to ZERO JOVE won't check for new mail.
  949. See also the "mailbox" and "disable-biff" variables.
  950.  
  951. :entry "mailbox" "Variable"
  952. Set this to the full pathname of your mailbox.  JOVE will look here to
  953. decide  whether  or  not  you  have any unread mail.  This defaults to
  954. /usr/spool/mail/$USER, where $USER is set to your login name.
  955.  
  956. :entry "make-backup-files" "Variable"
  957. If this variable is set, then whenever JOVE writes out a file, it will
  958. move  the  previous  version  of  the  file  (if  there  was  one)  to
  959. "#filename".  This is often convenient if you save a file by accident.
  960. The  default  value  of  this  variable  is "off".  "Note:" this is an
  961. optional part of JOVE, and your guru may not have it  enabled,  so  it
  962. may not work.
  963.  
  964. :entry "make-buffer-unmodified" "Command"
  965. This makes JOVE think the selected buffer hasn't been changed even  if
  966. it  has.   Use  this when you accidentally change the buffer but don't
  967. want it considered  changed.   Watch  the  mode  line  to  see  the  *
  968. disappear when you use this command.
  969.  
  970. :entry "make-keymap" "Command"
  971. This creates an empty keymap with a name you supply.  That name can be
  972. used  to  reference the keymap in other commands, such as bind-keymap-
  973. to-key.
  974.  
  975. :entry "make-macro-interactive" "Command"
  976. This command is meaningful only while  you  are  defining  a  keyboard
  977. macro, and when you are in the minibuffer.  Ordinarily, when a command
  978. in a macro definition requires a trailing text  argument  (file  name,
  979. search  string,  etc.),  the  argument  you supply becomes part of the
  980. macro definition.  If you want  to  be  able  to  supply  a  different
  981. argument  each time the macro is used, then while you are defining it,
  982. you should give the make-macro-interactive command just before  typing
  983. the  argument which will be used during the definition process.  Note:
  984. you must bind this command to a key in order to use it; you can't  say
  985. "ESC X make-macro-interactive".
  986.  
  987. :entry "mark-threshold" "Variable"
  988. This variable contains the number of lines point may  move  by  before
  989. the  mark  is  set.  If, in a search or something, point moves by more
  990. than this many lines, the mark is set so that you may  return  easily.
  991. The  default  value  of  this  variable  is 22 (one screenful, on most
  992. terminals).
  993.  
  994. :entry "marks-should-float" "Variable"
  995. When this variable is "off", the position of a mark is remembered as a
  996. line  number within the buffer and a character number within the line.
  997. If you add or delete text before the mark, it will no longer point  to
  998. the  text  you marked originally because that text is no longer at the
  999. same line and character number.   When  this  variable  is  "on",  the
  1000. position  of  a  mark is adjusted to compensate for each insertion and
  1001. deletion.  This makes marks much more sensible to use, at the cost  of
  1002. slowing  down  insertion  and deletion somewhat.  The default value is
  1003. "on".
  1004.  
  1005. :entry "match-regular-expressions" "Variable"
  1006. When set, JOVE will match  regular  expressions  in  search  patterns.
  1007. This  makes  special the characters ., *, [, ], ^, and $, and the two-
  1008. character sequences \<, \>, \{, \} and \|.   See  the  "ed(1)"  manual
  1009. page,  the  tutorial "Advanced Editing in UNIX", and the section above
  1010. "Searching with Regular Expressions" for more information.
  1011.  
  1012. :entry "meta-key" "Variable"
  1013. You should set this variable to "on" if your terminal has a real  Meta
  1014. key.   If your terminal has such a key, then a key sequence like ESC Y
  1015. can be entered by holding down Meta and  typing  Y.   NOTE:   In  some
  1016. systems, this disables interrupting noninteractive shell commands.
  1017.  
  1018. :entry "mode-line" "Variable"
  1019. The format of  the  mode  line  can  be  determined  by  setting  this
  1020. variable.   The items in the line are specified using a format similar
  1021. to that used by printf(3), with the special  things  being  marked  as
  1022. "%x".  Digits may be used between the 'x' may be:
  1023.  
  1024.           C    check for new mail, and displays "[New mail]" if there
  1025.                is any (see also the mail-check-interval and disable-biff
  1026.                variables)
  1027.           F    the current file name, with leading path stripped
  1028.           M    the current list of major and minor modes
  1029.           b    the current buffer name
  1030.           c    the fill character (-)
  1031.           d    the current directory
  1032.           e    extra space in modeline is distributed evenly
  1033.                among the place %e is used (used for justifying,
  1034.                separating, or centering parts of the modeline)
  1035.           f    the current file name
  1036.           l    the current load average (updated automatically)
  1037.           mxy  x, when the buffer is modified or y, when not
  1038.           n    the current buffer number
  1039.           p    interactive process status for process windows
  1040.           s    space, but only if previous character is not a space
  1041.           t    the current time (updated automatically)
  1042.           w    a '>' for windows which are scrolled left
  1043.           [ ]  the square brackets printed when in a recursive edit
  1044.           ( )  items enclosed in %( ... %) will only be printed on
  1045.                the bottom mode line, rather than copied when the
  1046.                window is split
  1047.  
  1048. In addition, any other character is simply copied into the mode  line.
  1049. Characters  may  be  escaped  with a backslash.  To get a feel for all
  1050. this, try typing "ESC X print mode-line" and compare the  result  with
  1051. your current mode line.
  1052.  
  1053. :entry "mode-line-color" "Variable"
  1054. This specifies the color of  the  modeline  (PC  version  only).   Its
  1055. default value is 0, and in that case it is drawn in reverse video.  If
  1056. it has any other value, this value is used as  the  attribute  in  the
  1057. Bios calls.
  1058.  
  1059. :entry "mode-line-should-standout" "Variable"
  1060. If set, the mode line will  be  printed  in  reverse  video,  if  your
  1061. terminal supports it.  The default for this variable is "off".
  1062.  
  1063. :entry "name-kbd-macro" "Command"
  1064. This copies the keyboard macro and gives it  a  name  freeing  up  the
  1065. keyboard  macro  so  you  can  define some more.  Keyboard macros with
  1066. their own names can be bound to keys just like built in commands  can.
  1067. See the "define-macro," "source" and "write-macros-to-file" commands.
  1068.  
  1069. :entry "newline" "Command"
  1070. This divides the current line at point moving  all  the  text  to  the
  1071. right  of point down onto the newly created line.  Point moves down to
  1072. the beginning of the new line.
  1073.  
  1074. :entry "newline-and-backup" "Command"
  1075. This divides the current line at point moving  all  the  text  to  the
  1076. right  of  point  down  onto  the  newly created line.  The difference
  1077. between this and "newline" is that point does not  move  down  to  the
  1078. beginning of the new line.
  1079.  
  1080. :entry "newline-and-indent" "Command"
  1081. This behaves the same was as Return does when  in  Auto  Indent  mode.
  1082. This  makes  Auto  Indent  mode obsolete but it remains in the name of
  1083. backward compatibility.
  1084.  
  1085. :entry "next-error" "Command"
  1086. This moves to the next error in the list of errors  that  were  parsed
  1087. with  "parse-errors."  In  one window the list of errors is shown with
  1088. the current one always at the top.  In another window is the file that
  1089. contains  the  error.   Point is positioned in this window on the line
  1090. where the error occurred.
  1091.  
  1092. :entry "next-line" "Command"
  1093. This moves down to the next line.
  1094.  
  1095. :entry "next-page" "Command"
  1096. This displays the next page of the buffer by taking the bottom line of
  1097. the  window  and  redrawing  the  window with it at the top.  If there
  1098. isn't another page in the buffer JOVE rings the bell.   If  a  numeric
  1099. argument is supplied the screen is scrolled up that many lines; if the
  1100. argument is negative the screen is scrolled down.
  1101.  
  1102. :entry "next-window" "Command"
  1103. This moves into the next window.  Windows live in a circular  list  so
  1104. when  you're  in the bottom window and you try to move to the next one
  1105. you are moved to the top window.  It is an error to use  this  command
  1106. with only one window.
  1107.  
  1108. :entry "number-lines-in-window" "Command"
  1109. This displays the line numbers for  each  line  in  the  buffer  being
  1110. displayed.   The  number  isn't  actually  part of the text; it's just
  1111. printed before the actual buffer line is.  To turn this  off  you  run
  1112. the command again; it toggles.
  1113.  
  1114. :entry "over-write-mode" "Command"
  1115. This turns Over Write mode on (or off if it's  currently  on)  in  the
  1116. selected  buffer.   When  on,  this  mode  changes  the  way the self-
  1117. inserting  characters  work.   Instead  of  inserting  themselves  and
  1118. pushing  the rest of the line over to the right, they replace or over-
  1119. write the existing character.  Also,  Rubout  replaces  the  character
  1120. before  point  with  a  space instead of deleting it.  When Over Write
  1121. mode is on "OvrWt" is displayed on the mode line.
  1122.  
  1123. :entry "page-next-window" "Command"
  1124. This displays the next page in the next window.  This is  exactly  the
  1125. same as "C-X N C-V C-X P".
  1126.  
  1127. :entry "paren-flash" "Command"
  1128. This handles the C mode curly brace indentation, the Lisp  mode  paren
  1129. indentation,  and the Show Match mode paren/curly brace/square bracket
  1130. flashing.
  1131.  
  1132. :entry "paren-flash-delay" "Variable"
  1133. How long, in tenths of  seconds,  JOVE  should  pause  on  a  matching
  1134. parenthesis in "Show" mode.  The default is 5.
  1135.  
  1136. :entry "parse-errors" "Command"
  1137. This takes the list of C compilation errors (or  output  from  another
  1138. program  in the same format) in the current buffer and parses them for
  1139. use with the "next-error"  and  "previous-error"  and  "current-error"
  1140. commands.   This  is  a  very  useful  tool and helps with compiling C
  1141. programs and when used in conjunction with  the  "grep"  UNIX  command
  1142. very  helpful  in  making  changes  to a bunch of files.  This command
  1143. understands errors produced by cc,  cpp,  and  lint;  plus  any  other
  1144. program with the same format (e.g., "grep -n").  JOVE visits each file
  1145. that has an error and remembers each line that contains an error.   It
  1146. doesn't matter if later you insert or delete some lines in the buffers
  1147. containing  errors;  JOVE  remembers  where   they   are   regardless.
  1148. "current-error"  is  automatically  executed  after  one  of the parse
  1149. commands, so you end up at the first error.  See  also  "error-format-
  1150. string" to make it possible to parse errors of a different format.
  1151.  
  1152. :entry "parse-spelling-errors-in-buffer" "Command"
  1153. This parses a list of words in the current buffer and looks them up in
  1154. another buffer that you specify.  This will probably go away soon.
  1155.  
  1156. :entry "pause-jove" "Command"
  1157. This stops JOVE and returns control to the parent  shell.   This  only
  1158. works  for  users  using the C-shell, and on systems that have the job
  1159. control facility.  To return to JOVE you type "fg" to the C-shell.
  1160.  
  1161. :entry "physical-tabstop" "Variable"
  1162. How many spaces your terminal prints when it prints a tab character.
  1163.  
  1164. :entry "pop-mark" "Command"
  1165. This gets executed when you run "set-mark" with  a  numeric  argument.
  1166. JOVE remembers the last 16 marks and you use "pop-mark" to go backward
  1167. through the ring of marks.  If you execute "pop-mark" enough times you
  1168. will eventually get back to where you started.
  1169.  
  1170. :entry "popd" "Command"
  1171. This pops one entry off the directory stack.  Entries are pushed  with
  1172. the  "pushd"  command.  The names were stolen from the C-shell and the
  1173. behavior is the same.
  1174.  
  1175. :entry "previous-error" "Command"
  1176. This is the same as "next-error" except it goes to the previous error.
  1177. See "next-error" for documentation.
  1178.  
  1179. :entry "previous-line" "Command"
  1180. This moves up to the previous line.
  1181.  
  1182. :entry "previous-page" "Command"
  1183. This displays the previous page of the current buffer  by  taking  the
  1184. top line and redrawing the window with it at the bottom.  If a numeric
  1185. argument is supplied the screen is scrolled down that many  lines;  if
  1186. the argument is negative the screen is scrolled up.
  1187.  
  1188. :entry "previous-window" "Command"
  1189. This moves into the next window.  Windows live in a circular  list  so
  1190. when  you're in the top window and you try to move to the previous one
  1191. you are moved to the bottom window.   It  is  an  error  to  use  this
  1192. command with only one window.
  1193.  
  1194. :entry "print" "Command"
  1195. This prints the value of a JOVE variable.
  1196.  
  1197. :entry "process-bind-keymap-to-key" "Command"
  1198. This is just like "bind-to-key" except that it starts at the  process-
  1199. keymap map, instead of the default mainmap.
  1200.  
  1201. :entry "process-bind-to-key" "Command"
  1202. This command is identical to bind-to-key, except that it only  affects
  1203. your  bindings  when  you are in a buffer attached to a process.  When
  1204. you enter the process buffer, any keys bound with  this  command  will
  1205. automatically take their new values.  When you switch to a non-process
  1206. buffer, the old  bindings  for  those  keys  will  be  restored.   For
  1207. example, you might want to execute
  1208.  
  1209.      process-bind-to-key stop-process ^Z
  1210.      process-bind-to-key interrupt-process ^C
  1211.  
  1212. Then, when you start up an interactive process and  switch  into  that
  1213. buffer,  C-Z will execute stop-process and C-C will execute interrupt-
  1214. process.  When you switch back to a non-process buffer,  C-Z  will  go
  1215. back to executing scroll-up (or whatever you have it bound to).
  1216.  
  1217. :entry "process-dbx-output" "Command"
  1218. This command only makes sense in a buffer running a shell process.  If
  1219. you are running dbx in a window, JOVE will automatically find the file
  1220. you are currently stepping through and display it in  another  window.
  1221. The  string DBX will appear in the modeline along with the other minor
  1222. modes when this feature is enabled.
  1223.  
  1224. :entry "process-newline" "Command"
  1225. This only gets executed when in  a  buffer  that  is  attached  to  an
  1226. interactive-process.   JOVE  does  two  different  things depending on
  1227. where you are when you hit Return.  When you're at the end of  the  I-
  1228. Process  buffer  this  does  what Return normally does, except it also
  1229. makes the line available to the process.  When point is positioned  at
  1230. some other position that line is copied to the end of the buffer (with
  1231. the prompt stripped) and point is moved there with it, so you can then
  1232. edit  that line before sending it to the process.  This command "must"
  1233. be bound to the key you usually use to enter shell commands  (Return),
  1234. or else you won't be able to enter any.
  1235.  
  1236. :entry "process-prompt" "Variable"
  1237. What a prompt looks like from the shell and i-shell-command processes.
  1238. The  default  is "% ", the default C-shell prompt.  This is actually a
  1239. regular expression search string.  So you can set it to be  more  than
  1240. one  thing  at  once  using  the  \| operator.  For instance, for LISP
  1241. hackers, the prompt can be
  1242.  
  1243.      "% \|-> \|<[0-9]>: ".
  1244.  
  1245.  
  1246. :entry "process-send-data-no-return" "Command"
  1247. This is like "process-newline"  except  it  sends  everything  to  the
  1248. process  without  the  newline.   Normally,  when you type return in a
  1249. process buffer it sends everything you  typed  including  the  Return.
  1250. This  command  just provides a way to send data to the process without
  1251. having to send a newline as well.
  1252.  
  1253. :entry "push-shell" "Command"
  1254. This spawns a child shell and relinquishes control to it.  This  works
  1255. on any version of UNIX, but this isn't as good as "pause-jove" because
  1256. it takes time to start up the new  shell  and  you  get  a  brand  new
  1257. environment every time.  To return to JOVE you type "C-D".
  1258.  
  1259. :entry "pushd" "Command"
  1260. This pushes a directory onto the directory stack and cd's into it.  It
  1261. asks  for  the directory name but if you don't specify one it switches
  1262. the top two entries no the stack.  It purposely behaves  the  same  as
  1263. C-shell's "pushd."
  1264.  
  1265. :entry "pwd" "Command"
  1266. This prints the working directory.
  1267.  
  1268. :entry "query-replace-string" "Command"
  1269. This replaces the occurrences of a specified string with  a  specified
  1270. replacement  string.  When an occurrence is found point is moved to it
  1271. and then JOVE asks what to do.  The options are:
  1272.  
  1273.      Space    to replace this occurrence and go on to the next one.
  1274.      Period   to replace this occurrence and then stop.
  1275.      Rubout   to skip this occurrence and go on to the next one.
  1276.      C-R      to enter a recursive edit.  This lets you temporarily
  1277.               suspend the replace, do some editing, and then return
  1278.               to continue where you left off.  To continue with the
  1279.               Query Replace type "C-X C-C" as if you were trying to
  1280.               exit JOVE.  Normally you would but when you are in a
  1281.               recursive edit all it does is exit that recursive
  1282.               editing level.
  1283.      C-W      to delete the matched string and then enter a recursive
  1284.               edit.
  1285.      U        to undo all changes to the last modified line.
  1286.      P or !   to go ahead and replace the remaining occurrences without
  1287.               asking.
  1288.      Return   to stop the Query Replace.
  1289.  
  1290. The search for occurrences starts at point and goes to the end of  the
  1291. buffer,  so  to  replace in the entire buffer you must first go to the
  1292. beginning.
  1293.  
  1294. :entry "quit-process" "Command"
  1295. This is the same as typing "C-\" (the Quit character) to a normal UNIX
  1296. process,  except  it sends it to the current process in JOVE.  This is
  1297. only for versions of JOVE that have the interactive processes feature.
  1298. This  only  works  when  you  are inside a buffer that's attached to a
  1299. process.
  1300.  
  1301. :entry "quoted-insert" "Command"
  1302. This lets you insert characters that normally  would  be  executed  as
  1303. other JOVE commands.  For example, to insert "C-F" you type "C-Q C-F".
  1304.  
  1305. :entry "read-only-mode" "Command"
  1306. Read-only-mode is a minor mode.  It puts a buffer in  read-only  mode,
  1307. so that any attempts to modify the buffer fail.  When a file is found,
  1308. and it's not got write permission, JOVE automatically puts the  buffer
  1309. in  read-only mode.  This is very helpful when you are in environments
  1310. which use source control programs like  RCS  and  SCCS.   It  prevents
  1311. accidents  like  making  a  bunch of changes and only THEN discovering
  1312. that you haven't checked the file out for making changes.  This,  like
  1313. other minor modes, toggles.
  1314.  
  1315. :entry "read-word-abbrev-file" "Command"
  1316. This reads a specified file that  contains  a  bunch  of  abbreviation
  1317. definitions, and makes those abbreviations available.  If the selected
  1318. buffer is not already in Word Abbrev mode this command puts it in that
  1319. mode.
  1320.  
  1321. :entry "recursive-edit" "Command"
  1322. This enters a recursive editing level.  This isn't really very useful.
  1323. I  don't  know why it's available for public use.  I think I'll delete
  1324. it some day.
  1325.  
  1326. :entry "redraw-display" "Command"
  1327. This centers the line containing point in the window.  If that line is
  1328. already  in  the  middle the window is first cleared and then redrawn.
  1329. If a numeric argument is supplied, the  line  is  positioned  at  that
  1330. offset from the top of the window.  For example, "ESC 0 C-L" positions
  1331. the line containing point at the top of the window.
  1332.  
  1333. :entry "rename-buffer" "Command"
  1334. This lets you rename the current buffer.
  1335.  
  1336. :entry "replace-in-region" "Command"
  1337. This is the same as "replace-string" except that it is  restricted  to
  1338. occurrences between Point and Mark.
  1339.  
  1340. :entry "replace-string" "Command"
  1341. This replaces all occurrences of a specified string with  a  specified
  1342. replacement  string.   This is just like "query-replace-string" except
  1343. it replaces without asking.
  1344.  
  1345. :entry "right-margin" "Variable"
  1346. Where the right margin is for  "Auto  Fill"  mode  and  the  "justify-
  1347. paragraph" and "justify-region" commands.  The default is 78.
  1348.  
  1349. :entry "right-margin-here" "Command"
  1350. This sets the "right-margin"  variable  to  the  current  position  of
  1351. point.   This  is  an  easy  way  to say, "Make the right margin begin
  1352. here," without having to count the number of spaces over  it  actually
  1353. is.
  1354.  
  1355. :entry "save-file" "Command"
  1356. This saves the current buffer to the associated file.  This makes your
  1357. changes  permanent  so  you should be sure you really want to.  If the
  1358. buffer has not been modified "save-file" refuses to do the  save.   If
  1359. you  really  do  want  to  write  the file you can use "C-X C-W" which
  1360. executes "write-file."
  1361.  
  1362. :entry "scroll-all-lines" "Variable"
  1363. When this is turned on, the entire window will  be  scrolled  left  or
  1364. right  when the current line scrolls.  The default value is OFF, which
  1365. will cause JOVE to behave in the familiar way, namely to  scroll  only
  1366. the current line.
  1367.  
  1368. :entry "scroll-down" "Command"
  1369. This scrolls the screen one line down.  If the line  containing  point
  1370. moves past the bottom of the window point is moved up to the center of
  1371. the window.  If a numeric argument is supplied  that  many  lines  are
  1372. scrolled;  if  the  argument  is  negative  the  screen is scrolled up
  1373. instead.
  1374.  
  1375. :entry "scroll-left" "Command"
  1376. This scrolls the text in the current window 10 character positions  to
  1377. the  left.   If  a  numeric  argument  is  specified  then the text is
  1378. scrolled  that  number  of  character  positions.   If  the   variable
  1379. "scroll-all-lines" is ON then "scroll-left" may actually do nothing if
  1380. the scrolling would cause Point not to be visible.
  1381.  
  1382. :entry "scroll-next-page" "Command"
  1383. This continuously scrolls up screen-full lines (PC version only).
  1384.  
  1385. :entry "scroll-previous-page" "Command"
  1386. This continuously scrolls down screen-full lines (PC version only).
  1387.  
  1388. :entry "scroll-right" "Command"
  1389. This scrolls the text in the current window 10 character positions  to
  1390. the  right.   If  a  numeric  argument  is  specified then the text is
  1391. scrolled  that  number  of  character  positions.   If  the   variable
  1392. "scroll-all-lines"  is  ON then "scroll-right" may actually do nothing
  1393. if the scrolling would cause Point not to be visible.
  1394.  
  1395. :entry "scroll-step" "Variable"
  1396. How many lines should be scrolled if  the  "previous-line"  or  "next-
  1397. line"  commands move you off the top or bottom of the screen.  You may
  1398. wish to decrease this variable if you are on  a  slow  terminal.   The
  1399. default  value  is  0,  which  means to center the current line in the
  1400. window.  If the value is negative, the behavior is slightly different.
  1401. If  you  move off the top of the window, and "scroll-step" is, say, -5
  1402. then the new line will be displayed 5 lines from  the  bottom  of  the
  1403. window.   If  you move off the bottom of the window, the new line will
  1404. be positioned 5 lines from the top of the window.
  1405.  
  1406. :entry "scroll-up" "Command"
  1407. This scrolls the screen one line up.  If  the  line  containing  point
  1408. moves  past the top of the window point is moved down to the center of
  1409. the window.  If a numeric argument is supplied  that  many  lines  are
  1410. scrolled;  if  the  argument  is  negative the screen is scrolled down
  1411. instead.
  1412.  
  1413. :entry "search-exit-char" "Variable"
  1414. Set this to the character you want to use to exit incremental  search.
  1415. The  default  is  Newline, which makes i-search compatible with normal
  1416. string search.
  1417.  
  1418. :entry "search-forward" "Command"
  1419. This searches forward for a  specified  search  string  and  positions
  1420. point  at  the  end of the string if it's found.  If the string is not
  1421. found point remains unchanged.  This searches from point to the end of
  1422. the buffer, so any matches before point will be missed.
  1423.  
  1424. :entry "search-forward-nd" "Command"
  1425. This is just like "search-forward" except that  it  doesn't  assume  a
  1426. default  search  string, and it doesn't set the default search string.
  1427. This is useful for defining  macros,  when  you  want  to  search  for
  1428. something,  but you don't want it to affect the current default search
  1429. string.
  1430.  
  1431. :entry "search-reverse" "Command"
  1432. This searches backward for a specified  search  string  and  positions
  1433. point  at the beginning if the string if it's found.  If the string is
  1434. not found point remains unchanged.  This searches from  point  to  the
  1435. beginning of the buffer, so any matches after point will be missed.
  1436.  
  1437. :entry "search-reverse-nd" "Command"
  1438. This is just like "search-reverse" except that  it  doesn't  assume  a
  1439. default  search  string, and it doesn't set the default search string.
  1440. This is useful for defining  macros,  when  you  want  to  search  for
  1441. something,  but you don't want it to affect the current default search
  1442. string.
  1443.  
  1444. :entry "select-buffer" "Command"
  1445. This selects a new or already existing buffer making  it  the  current
  1446. one.   You  can type either the buffer name or number.  If you type in
  1447. the name you need only type the name until it is unambiguous, at which
  1448. point typing Escape or Space will complete it for you.  If you want to
  1449. create a new buffer you can type Return instead of Space,  and  a  new
  1450. empty buffer will be created.
  1451.  
  1452. :entry "select-buffer-1" "Command"
  1453. This selects buffer number 1, if it exists (PC version only).
  1454.  
  1455. :entry "select-buffer-2" "Command"
  1456. This selects buffer number 2, if it exists (PC version only).
  1457.  
  1458. :entry "select-buffer-3" "Command"
  1459. This selects buffer number 3, if it exists (PC version only).
  1460.  
  1461. :entry "select-buffer-4" "Command"
  1462. This selects buffer number 4, if it exists (PC version only).
  1463.  
  1464. :entry "select-buffer-5" "Command"
  1465. This selects buffer number 5, if it exists (PC version only).
  1466.  
  1467. :entry "select-buffer-6" "Command"
  1468. This selects buffer number 6, if it exists (PC version only).
  1469.  
  1470. :entry "select-buffer-7" "Command"
  1471. This selects buffer number 7, if it exists (PC version only).
  1472.  
  1473. :entry "select-buffer-8" "Command"
  1474. This selects buffer number 8, if it exists (PC version only).
  1475.  
  1476. :entry "select-buffer-9" "Command"
  1477. This selects buffer number 9, if it exists (PC version only).
  1478.  
  1479. :entry "self-insert" "Command"
  1480. This inserts the character that invoked it into the buffer  at  point.
  1481. Initially  all  but  a  few  of  the  printing characters are bound to
  1482. "self-insert."
  1483.  
  1484. :entry "send-typeout-to-buffer" "Variable"
  1485. When this is set JOVE will send output that  normally  overwrites  the
  1486. screen  (temporarily) to a buffer instead.  This affects commands like
  1487. "list-buffers," "list-processes," and commands  that  use  completion.
  1488. The default value is "off".
  1489.  
  1490. :entry "set" "Command"
  1491. This gives a specified variable a new value.  Occasionally you'll  see
  1492. lines  like  "set  this variable to that value to do this".  Well, you
  1493. use the "set" command to do that.
  1494.  
  1495. :entry "set-mark" "Command"
  1496. This sets the mark at the current position in the buffer.   It  prints
  1497. the  message "Point pushed" on the message line.  It says that instead
  1498. of "Mark set" because when you set the mark the previous mark is still
  1499. remembered  on  a  ring of 16 marks.  So "Point pushed" means point is
  1500. pushed onto the ring of marks and becomes the value of "the mark".  To
  1501. go  through the ring of marks you type "C-U C-@", or execute the "pop-
  1502. mark" command.  If you type this enough times you  will  get  back  to
  1503. where you started.
  1504.  
  1505. :entry "shell" "Variable"
  1506. The shell to be used with all the shell  commands  command.   If  your
  1507. SHELL environment variable is set, it is used as the value of "shell;"
  1508. otherwise "/bin/csh" is the default.
  1509.  
  1510. :entry "shell" "Command"
  1511. This starts up an interactive shell in a window.  JOVE uses  "*shell*"
  1512. as  the  name of the buffer in which the interacting takes place.  See
  1513. the manual for information on how to use interactive processes.
  1514.  
  1515. :entry "shell-command" "Command"
  1516. This runs a UNIX command and places the output from that command in  a
  1517. buffer.   JOVE  creates  a buffer that matches the name of the command
  1518. you specify and then attaches that buffer to a window.  So,  when  you
  1519. have only one window running this command will cause JOVE to split the
  1520. window and attach the new buffer  to  that  window.   Otherwise,  JOVE
  1521. finds  the  most convenient of the available windows and uses that one
  1522. instead.  If the buffer already exists it  is  first  emptied,  except
  1523. that  if it's holding a file, not some output from a previous command,
  1524. JOVE prints an error message and refuses to execute the  command.   If
  1525. you  really  want to execute the command you should delete that buffer
  1526. (saving it first, if you like) or use  "shell-command-to-buffer,"  and
  1527. try again.
  1528.  
  1529. :entry "shell-command-no-buffer" "Command"
  1530. This is just like "shell-command" except  it  just  runs  the  command
  1531. without  saving  the output to any buffer.  It will report the success
  1532. of the command in the usual way.
  1533.  
  1534. :entry "shell-command-to-buffer" "Command"
  1535. This is just like "shell-command"  except  it  lets  you  specify  the
  1536. buffer to use instead of JOVE.
  1537.  
  1538. :entry "shell-command-with-typeout" "Command"
  1539. This is just like "shell-command" except that instead  of  saving  the
  1540. output to a buffer, and displaying it in a window, this just types out
  1541. the output in the same way that "list-buffers"  does.   Actually,  how
  1542. this  behaves  depends  on the value of the variable "send-typeout-to-
  1543. buffer." If it is on then shell-command-with-typeout will behave  just
  1544. like "shell-command."
  1545.  
  1546. :entry "shell-flags" "Variable"
  1547. This defines the flags that are passed to shell commands.  The default
  1548. is "-c".  See the "shell" variable to change the default shell.
  1549.  
  1550. :entry "shift-region-left" "Command"
  1551. This shifts the region  left  by  c-indentation-increment  OR  by  the
  1552. numeric  argument,  if  one  is  supplied.   If a negative argument is
  1553. supplied the region is shifted the other way.
  1554.  
  1555. :entry "shift-region-right" "Command"
  1556. This shifts the region  left  by  c-indentation-increment  OR  by  the
  1557. numeric  argument,  if  one  is  supplied.   If a negative argument is
  1558. supplied the region is shifted the other way.
  1559.  
  1560. :entry "show-match-mode" "Command"
  1561. This turns on Show Match mode (or off if it's  currently  on)  in  the
  1562. selected  buffer.  This changes "}", ")" and "]" so that when they are
  1563. typed the are inserted as usual, and then the cursor flashes  back  to
  1564. the  matching  "{", "(" or "[" (depending on what was typed) for about
  1565. half a second, and then goes back to just after the "}",  ")"  or  "]"
  1566. that  invoked  the  command.  This is useful for typing in complicated
  1567. expressions in a program.  You can change how long the cursor sits  on
  1568. the  matching  paren  by  setting  the "paren-flash-delay" variable in
  1569. tenths of a second.  If the matching "{", "(" or  "["  isn't  visible,
  1570. the  line  containing  the  match  is  displayed  at the bottom of the
  1571. screen.
  1572.  
  1573. :entry "shrink-window" "Command"
  1574. This makes the current window one line shorter, if possible.   Windows
  1575. must  be at least 2 lines high, one for the text and the other for the
  1576. mode line.
  1577.  
  1578. :entry "source" "Command"
  1579. This reads a bunch of JOVE commands from a file.  The  format  of  the
  1580. file  is the same as that in your initialization file (your ".joverc")
  1581. in your main directory.  There should be one command per line  and  it
  1582. should  be  as  though  you typed "ESC X" while in JOVE.  For example,
  1583. here's part of my initialization file:
  1584.  
  1585.      bind-to-key i-search-reverse ^R
  1586.      bind-to-key i-search-forward ^S
  1587.      bind-to-key pause-jove ^[S
  1588.  
  1589. What they do is make "C-R" call  the  "i-search-reverse"  command  and
  1590. "C-S" call "i-search-forward" and "ESC S" call "pause-jove."
  1591.  
  1592. :entry "spell-buffer" "Command"
  1593. This runs the current buffer through  the  UNIX  "spell"  program  and
  1594. places the output in buffer "Spell".  Then JOVE lets you edit the list
  1595. of words, expecting you to delete the ones that you don't care  about,
  1596. i.e.,  the  ones  you  know  are  spelled correctly.  Then the "parse-
  1597. spelling-errors-in-buffer" command  comes  along  and  finds  all  the
  1598. misspelled words and sets things up so the error commands work.
  1599.  
  1600. :entry "split-current-window" "Command"
  1601. This splits the current window into two  equal  parts  (providing  the
  1602. resulting  windows  would  be  big  enough)  and displays the selected
  1603. buffer in both windows.  Use "C-X 1" to go back to 1 window mode.   If
  1604. a numeric argument is supplied, the window is split "evenly" that many
  1605. times (when possible).
  1606.  
  1607. :entry "start-remembering" "Command"
  1608. This is just another name  for  the  "begin-kbd-macro"  name.   It  is
  1609. included for backward compatibility.
  1610.  
  1611. :entry "stop-process" "Command"
  1612. This sends a stop  signal  (C-Z,  for  most  people)  to  the  current
  1613. process.   It  only works if you have the interactive process feature,
  1614. and you are in a buffer attached to a process.
  1615.  
  1616. :entry "stop-remembering" "Command"
  1617. This is just another name for  the  "end-kbd-macro"  command.   It  is
  1618. included for backward compatibility.
  1619.  
  1620. :entry "string-length" "Command"
  1621. This prints the number of characters in the string that point sits in.
  1622. Strings  are  surrounded  by double quotes.  JOVE knows that "\007" is
  1623. considered a single character, namely  "C-G",  and  also  knows  about
  1624. other  common  ones,  like "\r" (Return) and "\n" (LineFeed).  This is
  1625. mostly useful only for C programmers.
  1626.  
  1627. :entry "suspend-jove" "Command"
  1628. This is a synonym for "pause-jove."
  1629.  
  1630. :entry "sync-frequency" "Variable"
  1631. The temporary files used by JOVE are forced out to disk  every  "sync-
  1632. frequency"  modifications.  The default is 50, which really makes good
  1633. sense.  Unless your system is very unstable,  you  probably  shouldn't
  1634. fool with this.
  1635.  
  1636. :entry "tag-file" "Variable"
  1637. This  the  name  of  the  file  in  which  JOVE  should  look  up  tag
  1638. definitions.  The default value is "./tags".
  1639.  
  1640. :entry "text-mode" "Command"
  1641. This sets the major mode to  Text.   Currently  the  other  modes  are
  1642. Fundamental, C and Lisp mode.
  1643.  
  1644. :entry "tmp-file-pathname" "Variable"
  1645. This tells JOVE where to put the tmp files, which is where JOVE stores
  1646. buffers  internally.   The default is usually in /tmp, but if you want
  1647. to store them somewhere else, you can  set  this  variable.   If  your
  1648. system  crashes  a lot it might be a good idea to set this variable to
  1649. somewhere other than /tmp because the system removes all the files  in
  1650. /tmp  upon  reboot,  and  so  you  would not be able to recover editor
  1651. buffers using the "jove -r" command.
  1652.  
  1653. NOTE: In order for this to work correctly you must set  this  variable
  1654. BEFORE  JOVE  creates  the tmp file.  You can set this in your .joverc
  1655. (the closer to tbe beginning the better), or as soon as you  start  up
  1656. JOVE before you visit any files.
  1657.  
  1658. :entry "transpose-characters" "Command"
  1659. This switches the character before point with the one after point, and
  1660. then  moves  forward  one.   This doesn't work at the beginning of the
  1661. line, and at the end of the line it switches the two characters before
  1662. point.   Since  point is moved forward, so that the character that was
  1663. before point is still before point,  you  can  use  "C-T"  to  drag  a
  1664. character  down  the  length  of  a line.  This command pretty quickly
  1665. becomes very useful.
  1666.  
  1667. :entry "transpose-lines" "Command"
  1668. This switches the current line with the one above it, and  then  moves
  1669. down  one  so that the line that was above point is still above point.
  1670. This, like "transpose-characters," can be used to drag a line  down  a
  1671. page.
  1672.  
  1673. :entry "unbind-key" "Command"
  1674. Use this to unbind "any" key sequence.  You can  use  this  to  unbind
  1675. even  a  prefix  command,  since  this  command  does not use "key-map
  1676. completion".  For example,  "ESC  X  unbind-key  ESC  ["  unbinds  the
  1677. sequence  "ESC  [".  This is useful for "turning off" something set in
  1678. the system-wide ".joverc" file.
  1679.  
  1680. :entry "update-time-frequency" "Variable"
  1681. How often the mode line  is  updated  (and  thus  the  time  and  load
  1682. average, if you display them).  The default is 30 seconds.
  1683.  
  1684. :entry "use-i/d-char" "Variable"
  1685. If your terminal has insert/delete character capability you  can  tell
  1686. JOVE not to use it by setting this to "off".  In my opinion it is only
  1687. worth using insert/delete character at low baud  rates.   WARNING:  if
  1688. you  set  this  to  "on" when your terminal doesn't have insert/delete
  1689. character capability, you will get weird (perhaps fatal) results.
  1690.  
  1691. :entry "version" "Command"
  1692. Displays the version number of this JOVE.
  1693.  
  1694. :entry "visible-bell" "Variable"
  1695. Use the terminal's visible bell  instead  of  beeping.   This  is  set
  1696. automatically if your terminal has the capability.
  1697.  
  1698. :entry "visible-spaces-in-window" "Command"
  1699. This displays an underscore character instead of  each  space  in  the
  1700. window  and displays a greater-than followed by spaces for each tab in
  1701. the window.  The actual text in the buffer is not  changed;  only  the
  1702. screen  display  is  affected.   To  turn this off you run the command
  1703. again; it toggles.
  1704.  
  1705. :entry "visit-file" "Command"
  1706. This reads a specified file into the current buffer replacing the  old
  1707. text.   If the buffer needs saving JOVE will offer to save it for you.
  1708. Sometimes you use this to start over, say if you make lots of  changes
  1709. and  then change your mind.  If that's the case you don't want JOVE to
  1710. save your buffer and you answer "NO" to the question.
  1711.  
  1712. :entry "window-find" "Command"
  1713. This lets you select another buffer in another window three  different
  1714. ways.   This  waits  for  another  character  which  can be one of the
  1715. following:
  1716.  
  1717.      T    Finds a tag in the other window.
  1718.      ^T   Finds the tag at point in the other window
  1719.      F    Finds a file in the other window.
  1720.      B    Selects a buffer in the other window.
  1721.  
  1722. This is just a convenient short hand for "C-X 2" (or "C-X O" if  there
  1723. are  already  two  windows)  followed  by the appropriate sequence for
  1724. invoking each command.  With  this,  though,  there  isn't  the  extra
  1725. overhead  of  having  to  redisplay.   In  addition, you don't have to
  1726. decide whether to type "C-X 2" or "C-X O" since "C-X 4" does the right
  1727. thing.
  1728.  
  1729. :entry "word-abbrev-mode" "Command"
  1730. This turns on Word Abbrev mode (or off if it's currently  on)  in  the
  1731. selected  buffer.   Word  Abbrev  mode  lets  you  specify  a word (an
  1732. abbreviation) and a phrase  with  which  JOVE  should  substitute  the
  1733. abbreviation.   You  can  use this to define words to expand into long
  1734. phrases, e.g., "jove" can  expand  into  "Jonathan's  Own  Version  of
  1735. Emacs";  another  common use is defining words that you often misspell
  1736. in the same way, e.g., "thier" => "their" or "teh" => "the".  See  the
  1737. information on the "auto-case-abbrev" variable.
  1738.  
  1739. There are two kinds of abbreviations: mode specific  and  global.   If
  1740. you define a Mode specific abbreviation in C mode, it will expand only
  1741. in buffers that are in C mode.  This is  so  you  can  have  the  same
  1742. abbreviation  expand  to  different  things depending on your context.
  1743. Global abbreviations expand  regardless  of  the  major  mode  of  the
  1744. buffer.   The  way  it  works  is  this:  JOVE looks first in the mode
  1745. specific table, and then in the global table.  Whichever it  finds  it
  1746. in  first is the one that's used in the expansion.  If it doesn't find
  1747. the word it is left untouched. JOVE tries to expand words as they  are
  1748. typed,  when  you type a punctuation character or Space or Return.  If
  1749. you are in Auto Fill mode the expansion will be filled as if you typed
  1750. it yourself.
  1751.  
  1752. :entry "wrap-search" "Variable"
  1753. If set, searches will "wrap around" the ends of the buffer instead  of
  1754. stopping at the bottom or top.  The default is "off".
  1755.  
  1756. :entry "write-file" "Command"
  1757. This saves the current buffer to a specified file, and then makes that
  1758. file  the  default  file  name for this buffer.  If you specify a file
  1759. that already exists you are asked to confirm over-writing it.
  1760.  
  1761. :entry "write-files-on-make" "Variable"
  1762. When set, all modified files will be written out before  calling  make
  1763. when the "compile-it" command is executed.  The default is "on".
  1764.  
  1765. :entry "write-macros-to-file" "Command"
  1766. This writes the currently defined macros to  a  specified  file  in  a
  1767. format appropriate for reading them back in with the "source" command.
  1768. The purpose of this command is to allow you to define macros once  and
  1769. use them in other instances of JOVE.
  1770.  
  1771. :entry "write-modified-files" "Command"
  1772. This saves all the buffers that need saving.  If you supply a  numeric
  1773. argument it asks for each buffer whether you really want to save it.
  1774.  
  1775. :entry "write-region" "Command"
  1776. This writes the text in the region to a specified file.  If  the  file
  1777. already exists you are asked to confirm over-writing it.
  1778.  
  1779. :entry "write-word-abbrev-file" "Command"
  1780. This writes the currently defined abbreviations to a  specified  file.
  1781. They  can  be  read back in and automatically defined with "read-word-
  1782. abbrev-file."
  1783.  
  1784. :entry "yank" "Command"
  1785. This undoes the last kill command.  That is,  it  inserts  the  killed
  1786. text  at point.  When you do multiple kill commands in a row, they are
  1787. merged so that yanking them back with "C-Y" yanks back all of them.
  1788.  
  1789. :entry "yank-pop" "Command"
  1790. This yanks back previous killed text.  JOVE has a kill ring  on  which
  1791. the  last 10 kills are stored.  "yank" yanks a copy of the text at the
  1792. front of the ring.  If you want one of the last ten kills you use "ESC
  1793. Y"  which  rotates  the  ring so another different entry is now at the
  1794. front.  You can use "ESC Y" only  immediately  following  a  "C-Y"  or
  1795. another  "ESC  Y".  If you supply a negative numeric argument the ring
  1796. is rotated the other way.  If you use this command enough times  in  a
  1797. row  you  will  eventually  get back to where you started.  Experiment
  1798. with this.  It's extremely useful.
  1799.