home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / textutil / jgpsuite / Docs / JGEdDoc < prev    next >
Encoding:
Text File  |  1993-05-18  |  29.3 KB  |  631 lines

  1. .setu 10 :arc:          In/exclude Archimedes only features.
  2. .// .setu 10 :msdos:    Ex/include msdos only features.
  3. .setm 11 *.nost
  4. \s1 \t*             Used for undentation in boast below; end of layout prologue.
  5. .sp 0               Comment out if Pages wanted; default 66 lines (.sp 66)
  6. .ft
  7. /
  8.  
  9. .col
  10. |Page \p
  11. /
  12. .hd
  13. :.if \o
  14. .col
  15. Manual|Sat,30 Mar,1991|JGEd/JGSharEd
  16. .else
  17. .col
  18. JGEd/JGShared|Sat,30 Mar,1991|Manual
  19. .fi
  20.  
  21. :
  22. .col
  23. |JGEd
  24.  
  25. JGEd has been developed from a family of editors provided by John Richards of
  26. RCP for CP/M, BBC and MSDOS. JGEd stands for Jolly Good Editor. The MSDOS
  27. version is periodically updated to as large a subset of the Archimedes version
  28. as MSDOS allows.
  29.  
  30. Upper case letters in the following command descriptions denote the command's
  31. specification as an extended command.
  32.  
  33. Within the documentation for other machines, some bytes outside the common 7-bit
  34. ASCII set may show as different and unexpected characters on the screen. Key
  35. differences may be expressed as k1/k2 meaning k1 for Archimedes, k2 for MSDos.
  36.  
  37. .cp 6                   Conditional page throw ensures col & text on same page
  38. .col
  39. |Objectives
  40.  
  41. Any editor has to balance power - which conflicts directly with ease of
  42. acquisition - and a desire to minimise the user's keystrokes - which conflicts
  43. with both. JGEd puts power first, minimum keystrokes second. Ease of learning
  44. has the lowest priority, but two aspects of JGEd help: regularity of syntax and
  45. semantics; a distinction between immediate and extended commands.
  46.  
  47. A secondary objective was to put into JGEd facilities for making common
  48. alterations to the machine's status. Many stand\-alone utilities to do so have
  49. been produced, but it seems to me ergonomic to bundle them with the application
  50. in which I, certainly, spend most of my time. Setting the Default Directory to
  51. that of the file being edited, and setting the File Type of any subsequently
  52. written files are two I find particularly useful; I should be glad to consider
  53. any other candidates that might be suggested.
  54.  
  55. A tertiary objective was to keep as consistent as possible usages for various
  56. machines and usages from a commandline or desktop.
  57.  
  58. A fourth objective was to provide flexible failsafe arrangements, both to
  59. preserve the file being edited and to restore the status quo ante after editing
  60. mistakes.
  61.  
  62. A fifth objective was to combine the largest possible editing window with the
  63. availability of the desktop rescources; a final related objective was to be able
  64. to use the mouse, and the function keys, in a regular and structured way to make
  65. it unneccessary to use the keyboard when no ink characters were an intrinsic
  66. part of the command to be effected.
  67.  
  68. .cp 6
  69. .col
  70. |Documentation
  71.  
  72. This manual, together with Help_JGEdI(nfo, Help_JGEdK(eys) and Help_JGEdL(ine),
  73. and Help_JGEdM(ouse, documents the current version of !JGEd as at Wed,14 Apr
  74. 1993. The version, !JGSharEd, distributed as Shareware, may lag a little, and
  75. not yet include all documented facilities. It is my practice to bring it
  76. uptodate if a serious bug has been found and corrected in JGEd, or when a
  77. substantial group of capabilities has been established to be working
  78. satisfactorily. There is a deliberately tiresome but not wholly destructive
  79. restriction kept in the Shareware Version, documented below.  Help_JGEdI etc.,
  80. live in !jgp.info and are available online (type F1) within JGEd, as does
  81. Help_JGPrn which provides on-line help if you are preparing text for JGPrint.
  82.  
  83. .if \u10 eq arc
  84. .cp 6
  85. .col
  86. |Starting in the Desktop
  87.  
  88. Clicking on the application !jgp puts its icon on the iconbar. Thence, dragging
  89. a file thereto will JGEd it, as will double clicking on a file of type JGEd.
  90. More details follow.
  91.  
  92. !boot in the Application Directory !jgp sets <jgp$dir> to ...!jgp and provides
  93. three filetypes, JGEd, JGPrint and JGPCopy. Double clicking on a file of type
  94. JGEd applies !jgp.Tools.JGEd to it. Double clicking on !jgp registers a JGEd
  95. icon (currently &203 but subject to change - see JGPDispute) on the icon bar.
  96. Files of any type dragged to this icon will have JGEd applied to them; clicking
  97. menu on the icon will reveal the options available, and a facility to define and
  98. begin editing a new file.
  99.  
  100. Clicking select or adjust on the JGEd icon will swap it to and from a JGPrint
  101. icon.
  102.  
  103. [Dragging a file to the JGPrint icon on the desktop will set its filetype to
  104. JGPrint; double clicking on a JGPrint file will apply JGPrint/Doc to it. See
  105. JGPrinDoc/Info for further details.]
  106.  
  107. If the desktop is active, JGEd starts in the mode selected via the options
  108. submenu, in 'sharing' state; CTRL-F12 switches to and from 'non-sharing' state.
  109. 'sharing' implies that: other desktop tasks run concurrently; a red upright
  110. caret rather than a winking cursor is used; JGEd's internal concurrent printing
  111. is not available; while the red cursor is visible, the cpu is available for
  112. switching to other tasks. In certain modes, 'sharing' state is not available.
  113.  
  114. Clicking Shift-menu when in the editing window, Adjust when in the macroline, or
  115. executing dk in the macroline packs the edit away in a 'latent' window, clicking
  116. from which reveals a menu to continue, save or quit, or use block reading and
  117. writing capabilities described below. The title of the window is a right segment
  118. of the name of the file being edited.
  119.  
  120. The latent windows from several instances of JGEd appear stacked below one
  121. another on the desktop. Howver, if a window in the middle of the stack closes,
  122. the next one opened will be in the same vertical position as the lowest one. Of
  123. course the various window can be repositioned by the user for her convenience.
  124.  
  125. Note that it is permitted to have more than one process in which some file is
  126. being edited, but that each operates on a copy read from the filing system.
  127. Therefore, successive saves from two or more will overwrite the file
  128. competitively. I therefore recommend that all but one are put into view mode
  129. (CTRL-F11 or icon bar options), whence the edited text cannot be saved.
  130.  
  131. Restriction: JGEd does not work correctly in a mode with more than 128 rows; it
  132. would be trivial to increase this if needed.
  133. .fi
  134. .if \u10 eq MsDos
  135.  
  136. .col
  137. |Context of MSDos Implementation
  138.  
  139. JGEd, and indeed all the rest of the JGP suite, have principally been designed
  140. for the Archimedes Desktop, a windows\-like environment. It is intended that
  141. they shall themselves run under Windows 3, but as at summer 1992, they have
  142. only been implemented to run from the command line.
  143.  
  144. A further restriction is that they have been conceived to run solely in a 80 by
  145. 25 black and white ANSI window; however, the colours described below for
  146. various kinds of lines have been replaced by a suitable symbol, e.g. Í \ for the
  147. home line. This is a successful alternative to the colours, and I should have
  148. thought that screens which show a non\-standard symbol for the bytes involved
  149. should convey the information just as clearly. Indeed, I may well
  150. back\-implement these symbols for use on the appropriate modes in the
  151. Archimedes.
  152.  
  153. On the Archimedes, the <--- is not used. Conventionally, DELETE deletes left
  154. and END deletes under; this convention is used in JGEd. The MsDos user may well
  155. find this needs some getting used to, and I regret the annoyance she may
  156. suffer.
  157.  
  158. <---- is used to move the cursor to swap between the top and the bottom line
  159. of the page. It was a deliberate choice to use it so that it was both
  160. conspicuous in its effect, and in no way altered the text being edited.
  161.  
  162. Ideally, the user should find no difference between key usage on the two
  163. machines. But the ANSI keyboard does not easily provide responses for F11 and
  164. F12, and other key responses are different from those of the standard ARC.
  165. Therefore the actual function keys used to provide the editor's immediate
  166. capability, though similar, differ somewhat on the two systems. However, these
  167. choices shown in JGEDK.HLP or its Arc analogue, and available online by
  168. pressing f1 each have their own logic, and can each easily be acquired.
  169. NB. Below, the Arc versions are more usually referred to than the MSDos, though
  170. it is intended that both should be of equal status, eventually, in this
  171. document.
  172.  
  173. Since MSDos has file-extensions in its filing systems, a number of auxiliary
  174. files mentioned below are renamed in an obvious way for the MSDos
  175. implementation; many are detailed in context below. For example, Autosave>
  176. appears as Autosave.tmp.
  177.  
  178. As at Summer 1992, the following features have not been checked/found not to be
  179. working:
  180. .nofj
  181. System Variables for remembering macros in Keys;
  182. Automatic backup;
  183. Insert (use Right-hand number pad with Alt); there remains the problem of the
  184. bytes the ANSI keyboard listens for and gives a special response to.
  185. .usel base
  186.  
  187. NB !S to stop the screen may be useful if some texts etc. rush by too fast.
  188.  
  189. .col
  190. |Magic restart
  191.  
  192. !C or !Break returns to the BCPL Prompt line, from which system commands can be
  193. executed without disturbing the system. Then:-\|
  194. cont\|
  195. followed by SHIFT-f10 will enable editing to continue.
  196.  
  197. The system normally stands alone, but the development version runs within
  198. Shell.exe, the BCPL system. All CLI commands are available from within BCPL by
  199. preceeding them with a *, and the f1-5 line editor applies.
  200. .fi                  End of Msdos section
  201.  
  202. .cp 6
  203. .col
  204. |Starting in the Commandline
  205.  
  206. JEd and JSharEd, require jgp$dir to be set to the directory in which
  207. Tools.JGEd/JGSharEd is to be found, i.e. <path>.!jgp. I keep these in the
  208. library so that JEd <file> will edit <file>, where <file> is a path to the
  209. required file from the currently selected directory. If <file> is not given, the
  210. options available, the selected directory and a prompt to complete the
  211. commandline are given.
  212.  
  213. If the Desktop is active, JGEd uses dark colours on a white background; if it is
  214. not active JGEd uses bright colours on a dark background (which, personally, I
  215. find easier on my eyes). The mode can be reset as required (md<n>). NB. 16
  216. colour modes provide the best display, though JGEd works in any mode.
  217.  
  218. .cp 6
  219. .col
  220. |Files needed and Documentation Available
  221.  
  222. In the case that <jgp$dir>.Tools.JGEd/JGPrint are not available
  223. <jgp$dir>.\_Tools.\_JGSharEd\/JGSharePr are used in their place.
  224.  
  225. Help_JGEdK etc, Halp_JGEDL and Halp_JGPrn should live in the directory
  226. <jgp$dir>.info (set by !boot in the application !jgp). These files, which list,
  227. with short descriptions, the immediate and extended commands available, get
  228. typed when F1 followed by 1 to 4,0 are typed. After F1, you are prompted what to
  229. type for what info. #(SH-3) and )(SH-0) get functionally rather than
  230. alphaberically sorted help for the Macroline and JGPrint respectively.
  231.  
  232. To obtain a short description of the effect of any command, type it following
  233. F1.
  234.  
  235. JGEd in non-wimp sharing mode can concurrently copy another file to the printer
  236. while editing; see below for details.
  237.  
  238. Also see below for the use of the mouse within JGEd, and details about switches
  239. and system variables. (Also described in Help_JGEdK/L.)
  240.  
  241. .cp 6
  242. .col
  243. |JGEd's Commands
  244.  
  245. Immediate commands are individual commands obtained from the non\-character
  246. keys, with, if appropriate, SHIFT and CONTROL, or the three mouse buttons. Many
  247. of these have an immediate effect on the cursor or the text, but 21 of them
  248. initiate the macro\-line, where the user can set and execute a suitable
  249. combination of extended commands. The beginner needs only one of these in the
  250. first instance, but will probably rapidly move to the use of three or more. The
  251. leftmost character in the commandline is either €(128) or ×(215) according to
  252. whether JGEd's buffer is the same or different to the version in the filing
  253. system. If this has disappeared, going to and from the macro\-line will recover
  254. it. NB € changes to × at the action after an editing action.
  255.  
  256. In general, the red function keys unshifted and uncontrolled do the simplest and
  257. commonest editing tasks, shifted keys more powerful tasks that redraw the
  258. screen, controlled keys rarer tasks, and control-shifted keys very rare tasks.
  259. There is slight duplication, both to keep consistent with earlier versions and
  260. to suit differing keyboard practices.
  261.  
  262. .if \u10 eq arc
  263. In the Editing Window:
  264. .hln
  265. Mouse-Select (single-click) places JGEd's cursor (the Wimp Caret) at the Wimp
  266. Pointer.
  267. .hln
  268. Mouse-Select (Double-click)/type f9 quits editing; if the editing buffer has
  269. been altered since the last save to the file being edited, the query "Edits will
  270. be lost - Quit?(Y)? :" appears on the message line. Clicking Select/Typing Y
  271. quits, setting jged$var to 1, others return to the editing window. A quit that
  272. is not so intercepted sets jged$var to 0. See below for auto\-backup.
  273. .hln
  274. Mouse-Select (Drag) pushes any existing block (see below) and sets a block whose
  275. start and end are the start and end of the drag (or Vice\-Versa). If the mouse
  276. is held near the top line, the window moves up line by line; if the mouse is
  277. held near the bottom line, the window moves down line by line. If held near the
  278. top right-hand corner of the window, the window moves up by pages. If held near
  279. the top left-hand corner the window goes to the beginning of the text. If held
  280. near the bottom right-hand corner,the window goes to the end of the text, if
  281. held near the bottom right hand corner the window moves down, slowly, by pages.
  282. If the mouse is held near the right, but neither at the top or the bottom, the
  283. text will be paged right, again slowly; if near the left, and the text has
  284. already been paged right, it will be paged left. 3In this context a page is
  285. always 10 columns. See Line and Page pacing below.
  286. .hln
  287. Mouse-Menu (single-click)/type PRINT(f0) installs an empty Macro\-line.
  288. .hln
  289. Mouse-Menu + Shift goes straight to the latent window.
  290. .hln
  291. Mouse-Adjust(single-click) modifies the behaviour of the next mouse click to
  292. operate on blocks rather than define blocks; for details see below.
  293. .hln
  294. Mouse-Adjust (double-click)/type SHIFT-f9 saves the editing buffer to the file
  295. and returns to the editing buffer.
  296. .hln
  297. Mouse-adjust(drag), if started within a block will adjust that block, keeping
  298. the same start, if the first move is downwards, the same end if the first move
  299. is upwards. The top and bottom, sides, and corners have the same effect as in the
  300. select drag. A Drag beginning outside a block can be used to move the window. If
  301. the drag outside a block begins and ends on the same line (in practice, hold the
  302. button down without moving the mouse), the block is cancelled.
  303.  
  304. Note that Drags are based on the pointer, not the caret, which is hidden.
  305. Marking effects may take a few moments to catch up the pointer.
  306.  
  307. Page Pace <n> and Line Pace <n> adjust the speeds of page and line pacing to
  308. <n>/100 per second.
  309.  
  310. In the Macro Line:
  311. .hln
  312. Mouse-Select (single-click)/type RETURN executes the macro-line and
  313. returns to the editing buffer. However, if JGEd is waiting a prompt, select is
  314. construed as the response Y.
  315. .hln
  316. Mouse-Menu (single-click) leaves the macro-line for the editing buffer. However,
  317. if JGEd is prompting Exchange? (Y/N), menu is construed as the response N.
  318. .hln
  319. Mouse-Adjust (single-click) returns to the desktop with a Latent Window for this
  320. editing task; from this window, clicking opens a menu, and choosing Continue
  321. closes the latent window and returns to the JGEd editing window.
  322.  
  323. After a single adjust-click in the editing window, a reminder of what the next
  324. clicks do appears, after a short delay, on the bottom line. This will differ
  325. according as the cursor is  in or out of the block. (If there is no block, JGEd
  326. will complain):
  327. .hln
  328. A second single adjust-click will insert the block at the caret, or delete the
  329. block and restores the preserved block if the caret is within it. The mouse
  330. buttons revert to their original meanings.
  331. .hln
  332. a single select-click will move the block to the caret, or delete the
  333. block if the caret is within it. The mouse buttons revert to their original
  334. meanings.
  335. .hln
  336. a single menu-click will cause the mouse buttons to revert to their
  337. original meanings, with the message Block transfers aborted.
  338.  
  339. In effect, if you click adjust without immediately doing a double click or drag,
  340. you can then, if outside the block, use a second adjust or select click to
  341. insert the block or move the block;
  342. .hln
  343. if the cursor is within the block, the second click will delete the block
  344. (to scrap);
  345. .hln
  346. In either case a message on the bottom line will tell you what you may do and
  347. how to do it. Clicking Menu aborts the block operation.
  348.  
  349. If the Wimp or some other task opens a window for some message or interrupt,
  350. JGEd requires you to type SHIFT-PRINT to restore the editing window. (If you
  351. need to.)
  352.  
  353. .fi
  354. .if \u10 eq msdos
  355. F10 installs an empty macro\-line.\|
  356. SHIFT-f9 writes the edited text to the file being edited;\| f9 Quits; if the
  357. text has been edited since last being saved, the user is prompted to confirm.
  358.  
  359. .fi
  360. UNdo/SHIFT-f1 cancels all edits done since moving to the current line; if no
  361. edits have been done it inserts the last DeLeted/SHIFT-f3 line. Two further uses
  362. of SHIFT-F1/Undo will restore the updated version. The exchanges continue
  363. indefinitely.
  364.  
  365. No further commands are explained in this document, except in the course of
  366. exemplifying the editing capabilities available. If the descriptions in
  367. Help_JGEdK/L/M need supplementing, my advice is to try the command out (on a
  368. text you don't mind losing). Moreover, many users will not want to use some
  369. groups (I have never used CTRL-SH-F1-9). I find, also, that one only gradually
  370. acquires confidence and competence to use large combinations of extended
  371. commands; however, the reader is warmly encouraged to experiment, and I would be
  372. interested to hear of outcomes.
  373.  
  374. JGEd lines are restricted to 255 characters, which normally consist of bytes
  375. 33-126 + 128-255. See Start below, however, for variations.
  376.  
  377. .cp 6
  378. .col
  379. |The Macro-line
  380.  
  381. The macro\-line consists of a sequence of extended commands using semi\-colons
  382. (;) as separators. A sub\-sequence, bracketed by ( ), and preceded by rp or <n> is
  383. repeated indefinitely or <n> times; the brackets can be omitted for a single
  384. repeated command.
  385.  
  386. Extended commands consist of one or two characters, possibly followed by one or
  387. two parameters. F1 + (CTRL-)3 makes help available on the extended commands (and
  388. the find/exchange qualifiers). Upper and lower case characters are treated as
  389. equivalent. Parameters required may be numbers (use & to signify hexadecimal,
  390. and other standard Archimedes conventions) or strings of characters, bracketed
  391. at beginning and end by the same punctuation sign other than ';', '(', ')' - I
  392. usually use'/'. An 'Invalid Syntax' report catches mistakes.
  393.  
  394. These command names are intended to be connotative, but potential clashes have
  395. sometimes pre\-empted what would otherwise be the best choice. In Help_JGEdL
  396. some commands are cited twice, so that groups of related commands can be seen
  397. together. F1 followed by one or two letters provides a brief description of the
  398. effects of individual commands.
  399.  
  400. There are simple editing facilities on the macro\-line; COPY and DEL delete
  401. characters in the usual manner; <- and -> move the cursor left and right; SH-<-
  402. and SH--> move the cursor to the beginning and end of the macro\-line; F11
  403. empties the macro\-line. Any key without a defined effect will return the user
  404. to immediate mode with the message "empty key"; F11, thence, restores the
  405. macro\-line.
  406.  
  407. .if \u10 eq arc
  408. However, F1 acts specially when on the macro-line; it  inserts into the
  409. macro\-line the path that has specified the directory in which the file you are
  410. editing was found. This makes inserting and saving to files in this or adjacent
  411. directories very easy to specify; it is also useful if you want to use the
  412. */.../ command to execute some command at or near this directory.
  413.  
  414. Also, F2 acts specially when on the macro-line; it inserts the leaf name only of
  415. the file being edited, i.e. the right part of the name after the last '.'. This
  416. is useful, if you want to save, say, to the same or a related file name in this
  417. or some other directory.
  418. .fi
  419.  
  420. RET
  421. .if \u10 eq arc
  422. /Mouse-select
  423. .fi
  424.  hands the macro\-line over to be executed; the cursor need not be at the end of
  425. the line when this is done.
  426.  
  427. .if \u10 eq arc
  428. From the macroline, as mentioned above, clicking adjust restores the desktop
  429. with a latent window representing this task; click on this window for a menu to
  430. continue editing etc.
  431. .fi
  432.  
  433. From the editing window,
  434. .if \u10 eq arc
  435.  F12 re-executes the current command line, F11
  436. .fi
  437. .if \u10 eq msdos
  438.  Alt-F9 re-executes the current command line, Alt-F10
  439. .fi
  440.  reinstates it.
  441.  
  442. In extended editing: SH-F1-9 copies the macro\-line to the corresponding key;
  443. CTRL-F1-9 copies the key string into the macro\-line at the cursor position;
  444. .if \u10 eq arc
  445.  CTRL-SH-F1-9 copies in the string after GSTransing.
  446. .fi
  447.  
  448. In direct editing, these same control keys similarly install these strings on the
  449. macro\-line. This completes the list of the 21 keys to enter the command line
  450. promised above. (PRINT/F12/F11 are the only three that you will mostly use.)
  451.  
  452. These strings are held in the system variables Key$1-9, so can be set outside
  453. this edit, and used in other edits. You can use Insert Variable/key$<n>/ to
  454. insert them in the body of the text, so that you have them available next time.
  455. Beware conflicts if you are concurrently doing more than one edit.
  456. .if \u10 eq arc
  457.  
  458. SH-COPY splits the cursor so that Archimedes-style editing can be used. See
  459. below for further details.
  460. .fi
  461.  
  462. Any undefined key will return to direct editing, reporting line and column.
  463. However, since f11 restores the last macro\-line, mistypes are harmless.
  464.  
  465. .cp 6
  466. .col
  467. |Blocks
  468.  
  469. Block Start and Block End define a group of lines to be a block; you can then
  470. Insert a Block elsewhere above a cursor, Move a Block elsewhere above a cursor,
  471. Write a Block to a file, Print a Block (only if no Wimp), or Delete a Block.
  472. Attempting to Insert a block within itself produces the report "cursor inside
  473. block". You can use the option l (see below) to Limit a search to within a
  474. block. There is also Insert Under and Move Under. In the Wimp, via the latent
  475. window,
  476.  
  477. Whenever you delete a block, it is held as a Scrap file (as
  478. <wimp$scrapdir>.JGEdScrap); Scrap Read retrieves it below wherever your cursor
  479. is. Scrap Write saves a block to Scrap without deleting it.
  480.  
  481. Finally pusH Block/SHIFT-F7 hides the block definition in an extra store, whence
  482. pOp Block/SHIFT-F8 retrieves it; more importannt. using select-drag to define a
  483. new block automatically pushes any existing block.
  484.  
  485. .cp 6
  486. .col
  487. |Insert File
  488.  
  489. You can Insert a File above the current line defined by the cursor; you give its
  490. specification in the command line after the if command. Alternatively, you can
  491. drag its file icon in the desktop from a filer to the latent window. Clicking
  492. in the latent window opens a menu which allows access to save and writeblock
  493. windows. Dragging on an icon for the filetype being edited in these windows to a
  494. filer window writes the block or saves the whole file in that directory with the
  495. filename set within that window. You can save or write a block directly from one
  496. editing task to above the cursor in another another by dragging to the latent
  497. window of the latter; in this case the filename in the former's window is
  498. ignored. JGEd can exchange files with other applications that use the standard
  499. interchange rules.
  500.  
  501. .cp 6
  502. .col
  503. |Find, Exchange, Insert and Count|
  504.  
  505. There are extended commands to Find, Exchange, Exchange with Query, Insert,
  506. Insert Line above current, insert line After current and Count string
  507. Occurrences. Strings may not include a new line; however the options s(plit)
  508. must, and a(djacent) may, match strings on a pair of lines; option a allows
  509. empty lines between the strings.
  510.  
  511. Count Words counts the number of words between the cursor position and the end
  512. of the text (end of block for cw l). A word is deemed to be any number of
  513. contiguous lower case letters, uppercase letters or digits.
  514.  
  515. If the letters of any of these commands are followed by a space, JGEd expects to
  516. find one or more option letters as qualifiers before the opening bracket of
  517. their string parameter(s). Qualifiers are listed at the end of JGEdL_help
  518. (f1+3). i(nsert) applies only to Insert\/Exchange commands, which include il and
  519. a; the rest apply only to Find\/Exchange\/Count Occurrence commands. Count Words
  520. can only usefully be qualified by l(imited to the block. The qualifiers
  521. s(plit) and a(djacent) use both Find and insert strings for finding.
  522.  
  523. rpeq/../../ will continue to suggest exchanges if y/n is tapped; any other key
  524. ends the repeated exchange-query.
  525. .if \u10 eq arc
  526. Mouse-Select and Mouse-Menu are alternatives to y and n.
  527. .fi
  528.  
  529. Qualifiers and the find\-string are case\-insensitive, except when the qualifier
  530. c(ase) is used; the insert\-string, of course, is exact.
  531.  
  532. f be// will find an empty line; f l// within a repetition loop will limit it
  533. to within a block; f o/.../ will continue the macro\-line rather than report an
  534. error if ... is not found; note that the failure will not break the loop
  535. immediately, but that the following commands until ')' will first be
  536. executed. Of course, other commands, similarly qualified, behave similarly. (NB.
  537. I may modify this later.)
  538.  
  539. .cp 6
  540. .col
  541. |Remembered Lines and Home
  542.  
  543. 9 lines can be remembered at request by rl<n>; gl<n> will go to them. HOME/gh
  544. takes you home. Home is, normally, the last line that you 'jumped' from, rather
  545. than moved one line from. Jumping as a result of clicking Select does not reset
  546. Home. The home line can be locked against alterations effected by later jumps,
  547. or this lock can be released, by, immediate, CTRL-PG-UP/DOWN, and, extended,
  548. Hold Home/release Home(X). Home is only set once in a macro\-line. (Therefore
  549. you go back to the beginning of a repeated exchange.) Shades mark the Home and
  550. remembered line if available in the current mode. gb and ge go to the
  551. beginning/end of the current block. The Find line is set whenever you jump from
  552. a line in a find or exchange. SHIFT-INSERT will take you back there
  553. (resetting home). This is particularly useful if you have made a mistake by
  554. going to far in an rpeq.
  555.  
  556. Whenever a find or a go command causes a new screen to be displayed, the
  557. relevant line will be found about a quarter way down the screen.
  558.  
  559. .cp 6
  560. .col
  561. |Character Set Window
  562.  
  563. SHIFT-F7 switches on or off a dark green window in the bottom right of the
  564. editing window which contains the Archimedes characters from byte 128 to 255 in
  565. four lines of 32 characters each; it can also have an upper line for characters
  566. 0-31 (see below).
  567.  
  568. If the pointer is moved to one of the characters and Select is clicked, that
  569. character will be inserted into the text at the caret.
  570.  
  571. Note that the text you are working with remains in existence below this window,
  572. and, if you put the caret in this area, say by using the cursor keys, you will
  573. insert or delete invisible characters. Briefly, don't.
  574.  
  575. .cp 6
  576. .col
  577. |Pixel Redefinition
  578.  
  579. You will also add the characters from 0 to 31 as an upper line if you have set
  580. one of these from a file made from JGMkChar that includes one or more of these
  581. characters. There is an Extended command Character Pixels /<string>/, which gets
  582. the file pixelroot<string>, where pixelroot is initially <jgp$dir>.; Pixel Root
  583. /<string>/ resets the root. Character pixels cancel (cq) restores the characters
  584. in use to the standard Archimedes set.
  585.  
  586. These pixel redefinition facilities are intended principally to make the top-bit
  587. set and vdu characters that appear on the screen accord with those used by your
  588. printer, e.g. the standard PC-8 or PC-850 characterset used by many printers. If
  589. you JGPrint to screen a text produced in this way, you will of course, see the
  590. original Archimedes top-bit set unless you use JGSetChars (see JGCharDoc). The
  591. VDU characters and 127 cannot be redesigned outside JGEd. A PC-8 file is
  592. provided in !jgp for those whose printer (e.g.HP Deskjet) uses this character
  593. set.
  594.  
  595. The redefinition of byte 127 will also extend left the 128-159 line of the
  596. character set window to display 127.
  597.  
  598. Warning: if you redefine bytes 128 and/or 215, the tick and cross of the
  599. macroline will be altered.
  600.  
  601. The pixel redefinition is cancelled when the edit is finished, and when leaving
  602. for the latent window, restored on reentry to the own window.
  603.  
  604. Small Bug: it seems that bytes 128-144 are not restored in the !char window if
  605. fx 25 0/4 is executed within JGEd, until a second redraw of the window, e.g.
  606. after an f12.
  607.  
  608. .cp 6
  609. .col
  610. |Copying and the Selected String
  611.  
  612. .if \u10 eq arc
  613. SHIFT-COPY enters Archimedes copy mode: the cursor keys and COPY take their
  614. usual commandline meaning as opposed to their particular JGEd use; JGEd use is
  615. restored by RETURN. Sharing state is temporarily rescinded. Warning: the
  616. combination of JGEd and commandline rules may sometimes surprise. A report
  617. appears, and after the first character has been written, the macro\-line is
  618. displayed, so that useful macros can be copied to the text and preserved for
  619. later use, by recopying them to the macroline.
  620.  
  621. .fi
  622. The extended command Load String will copy characters from a single line into th
  623. buffer 'selected string', using -¼> for insert and <- for delete; RETURN
  624. completes the string. Qualified i i is equivalent to i/<selected string>/;
  625. f f to f/<selected string>/; these qualifiers can be used with all find, insert
  626. and exchange commands. Show String is also available.
  627.  
  628. .\ \+JGEdDoc1
  629. .if 0
  630. See Discussion at top of JGEdDoc1
  631. .fi