home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume14 / jove4.9 / part20 < prev    next >
Text File  |  1988-04-27  |  44KB  |  923 lines

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