home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume4 / tvx / part09 < prev    next >
Internet Message Format  |  1986-11-30  |  59KB

  1. From: talcott!seismo!gatech!unmvax!wampler (Bruce Wampler)
  2. Subject: tvx: 9 of 10
  3. Newsgroups: mod.sources
  4. Approved: jpn@panda.UUCP
  5.  
  6. Mod.sources:  Volume 4, Issue 23
  7. Submitted by: gatech!unmvax!wampler (Bruce Wampler)
  8.  
  9. #--------CUT---------CUT---------CUT---------CUT--------#
  10. #########################################################
  11. #  TVX: File 9 of 10                                    #
  12. #                                                       #
  13. # This is a shell archive file.  To extract files:      #
  14. #                                                       #
  15. #    1)    Make a directory (like tvx) for the files.      #
  16. #    2) Write a file, such as "filen.shar", containing  #
  17. #       this archive file into the directory.           #
  18. #    3) Type "sh file.shar".  Do not use csh.           #
  19. #                                                       #
  20. #########################################################
  21. #
  22. #
  23. echo Extracting tvx_ref1.doc:
  24. sed 's/^X//' >tvx_ref1.doc <<\SHAR_EOF
  25. X
  26. X
  27. X
  28. X
  29. X
  30. X                         TVX Reference Manual
  31. X     This is the Reference Manual for TVX, a full screen
  32. Xeditor written in C by Dr. Bruce E. Wampler.  (Current address: Dr.
  33. XBruce E. Wampler, University of New Mexico, Department of Computer
  34. XScience, Farris Engineering Center, Albuquerque, NM 87131; uucp:
  35. X...{ucbvax | gatech | ihnp4!lanl}!unmvax!wampler).  Any comments, bug
  36. Xreports, or suggestions should be sent to that address.  The name TVX
  37. Xis derived from "TV" editor for any terminal ("X"). 
  38. X     The current release of TVX has several different versions:
  39. X1) Standard TVX - The original version and command set of TVX. 
  40. X2) VIX - A version of TVX that emulates the Unix vi editor. 
  41. X3) TVX0 - A modeless version of TVX. 
  42. X4) EMAX - A version of TVX that emulates the EMACS editor. 
  43. X     The main part of this manual is written describing "Standard
  44. XTVX," the version used by the author.  The VIX, TVX0, and EMAX
  45. Xversions are described in appendices.  While the emulator versions of
  46. XTVX are close command set compatible versions of the original editors,
  47. Xthe you should be aware that certain fundamental properties of the
  48. Xunderlying TVX editor remain, and that the emulators will not work
  49. Xexactly like the originals.  If you intend to use one of the other
  50. Xversions of TVX, you should read this part of the manual up to the
  51. Xsection describing standard TVX commands first. 
  52. X*** General Comments ***
  53. X     Standard TVX functions almost identically for all versions,
  54. Xincluding the command set.  The emulation versions of TVX have been
  55. Xwritten to be command set compatible with the original versions of the
  56. Xeditors.  It is also possible to construct a completely new version of
  57. XTVX with a custom command set.  Control codes on are normally entered
  58. Xby pressing the CTRL key and the letter key at the same time.  On most
  59. Xversions, the character delete key is BACKSPACE.  This character
  60. Xdelete key is the one normally used by the respective operating
  61. Xsystem.  It is up to the local implementation to notify the user of
  62. Xany variance from these conventions. 
  63. X     Once the file has been read in, the screen will be cleared, and
  64. Xthe first screenful of the file printed on the screen and the cursor
  65. Xpositioned over the first character of the file.  If a new file is
  66. Xbeing created, the message "buffer empty" will be displayed, and the
  67. Xcursor positioned in the upper left corner.  TVX is then ready to
  68. Xaccept commands from the keyboard.  TVX works on the principle that
  69. Xwhat you see is what you get.  Most commands also take an optional
  70. Xnumeric count.  The default count is always one.  Commands that allow
  71. Xa count value are preceded by the letter 'n' in the following
  72. Xdescriptions.  Whenever a command produces output or an error message,
  73. Xit appears on the bottom line of the screen. 
  74. X     The BACKSPACE key (Control-H on some terminals) is used to edit
  75. X                                 -1-
  76. XTVX Reference Manual                                           2/25/86
  77. Xinput text.  When TVX is accepting commands, BACKSPACE will cause the
  78. Xcharacter immediately before the cursor to be deleted. 
  79. X     TVX (all versions!) works entirely in the available memory for
  80. Xediting.  The text from the file which is being edited is held in a
  81. Xbuffer in main memory.  If a file is particularly large, it may not
  82. Xentirely fit into main memory.  The MS-DOS versions, for example, will
  83. Xallow about 50K characters, depending on the memory available.  Unix
  84. Xversions will usually allow 120,000 characters and 5000 lines in one
  85. Xbuffer.  If the entire file will not fit into the buffer at once, then
  86. Xonly part of it is read in at a time.  The buffer size limit in no way
  87. Xrestricts the total size of a file that can be edited by TVX.  To make
  88. Xediting large files easier, some commands apply to the entire file and
  89. Xcause automatic cross buffer manipulation. 
  90. X     Because of the internal organization of the text within the
  91. Xbuffer, TVX may occasionally "compact" the tiny fragments of unused
  92. Xbuffer space generated as a part of normal editing.  When this
  93. Xhappens, a message is displayed, and input keystrokes are remembered
  94. Xbut not echoed until the compaction process is complete.  The process
  95. Xmay take several seconds. 
  96. X     TVX actually divides the internal memory into two parts: the text
  97. Xbuffer and the save buffer.  The text buffer (or simply the buffer) is
  98. Xused to hold the file (or part of the file) being edited.  There is
  99. Xonly one such text buffer (unlike some other editors such as emacs).
  100. XThe save buffer is used for moving text, both from one part of the
  101. Xtext buffer to the other, as well as to and from external files.  The
  102. Xmaximum size of the save buffer depends on the amount of text
  103. Xcurrently residing in the main text buffer.  The following diagram
  104. Xshows the internal TVX memory organization:
  105. X   +-----------------------------+
  106. X   |  TEXT BUFFER - the current  |
  107. X   |  text (or portion) of file  |
  108. X   |  being edited. (grows down) |
  109. X   |            _________________|
  110. X   |___________|                 |
  111. X   |  free memory        ________|
  112. X   |_____________________|       |
  113. X   |  SAVE BUFFER - grows up     |
  114. X   +-----------------------------+
  115. X     Text is added to the text buffer when the file is first read in
  116. X(or created).  If the file doesn't fit into one buffer, you will have
  117. Xto manually "page" the text into the buffer.  Text is added to the
  118. Xsave buffer in one of several ways.  TVX (and emulators) have commands
  119. Xto move text from the text buffer to the save buffer, and move the
  120. Xcontents of the save buffer to the text buffer.  TVX also has "cut
  121. Xmode".  When cut mode is enabled, when lines are killed, they are
  122. Xautomatically copied into the save buffer as well as being deleted
  123. Xfrom the text buffer.  Cut mode is normally off for TVX, but is on for
  124. XVIX and EMAX.  It is also possible to save the contents of the save
  125. Xbuffer to a new external file, and to load the save buffer from an
  126. Xexternal file.  All versions of TVX use this scheme for handling
  127. Xtext. 
  128. X                                 -2-
  129. XTVX Reference Manual                                           2/25/86
  130. X     End of lines are not special to TVX.  Thus all the cursor
  131. Xmovement commands and delete single character commands will treat the
  132. Xend of line as just another character.  This also means that a
  133. X<Return> (end of line) is a valid search character, and thus makes it
  134. Ximpossible to end a find pattern with a <Return>.  The <Escape> key is
  135. Xused to mark the end of a find pattern.  All the Standard TVX wild
  136. Xcards may be used for all versions of TVX. 
  137. X     Another basic concept of TVX is the "last thing." Whenever TVX
  138. Xfinds a pattern from the search command, skips over a word, or gets
  139. Xfrom or puts to the save buffer, that text is considered the "last
  140. Xthing." All versions of TVX will have a command that can delete the
  141. Xlast thing.  While this is this a powerful editing concept, it does
  142. Xhave some consequences.  First, the cursor will always be placed AFTER
  143. Xthe pattern just found.  It also means that TVX has no delete word
  144. Xcommands.  Instead, the delete last thing command is used after
  145. Xskipping over a word.  Using the delete last thing also makes it very
  146. Xeasy to save text into the save buffer, and then deleting it after the
  147. Xdesired number of lines have been saved. 
  148. X     Probably the most powerful editing tool provided by TVX is the
  149. Xrepeat loop.  This allows arbitrary command sequences to be entered,
  150. Xand repeated any number of times.  All versions of TVX will have at
  151. Xleast 5 different repeat buffers.  All emulation versions of TVX use
  152. Xthe basic TVX repeat loop instead of emulating whatever macro facility
  153. Xmight be provided by the orignal editor.  (The commands inside the
  154. Xrepeat loop are the emulated commands, not standard TVX commands.)
  155. X     Many of the basic operating characteristics of TVX are
  156. Xcontrollable by user settable parameters.  These parameters are
  157. Xrelevant to all versions of TVX, with the current status of each
  158. Xdisplayed on the help screen.  These parameters are summarized in the
  159. X'set parameter' command (':') in the Standard TVX Commands section,
  160. Xbut a brief overview of the paramaters will also cover some of the
  161. Xcapabilities of TVX (and the emulator versions). 
  162. X     While the normal screen is only 80 columns wide, TVX has been
  163. Xwritten to support a "virtual" screen width of 240 columns.  As you
  164. Xmove the cursor right on a line that is longer than 80 columns, the
  165. Xscreen will automatically scroll to the left in increments of 16
  166. Xcolumns.  You can also control how many lines of the screen TVX uses
  167. Xusing the 'v' parameter.  Normally, TVX will use the entire screen.
  168. XIf you are working over phone lines, you can tell TVX to use only 5 or
  169. X7 lines, thus making updating much faster. 
  170. X     TVX has some limited word processing cabability.  This is the
  171. Xautowrap feature, settable both when you first run TVX, and by the 'w'
  172. Xparameter.  Setting autowrap to column 65, for example, will tell TVX
  173. Xto automatically insert a newline whenever you enter text past that
  174. Xcolumn.  The 'tidy' command will use the autowrap margin to 'fill' the
  175. Xtext after the fact.  This feature makes it easy to make your text
  176. Xmore readable, and even create good looking short memos without
  177. Xneeding to resort to nroff or troff. 
  178. X     For programmers, TVX has an autowrap command.  The 'a' parameter
  179. Xcontrols this feature.  When enabled, TVX will automatically match the
  180. X                                 -3-
  181. XTVX Reference Manual                                           2/25/86
  182. Xleading white space at the beginning of the previous line. 
  183. X     The search command also has some advanced features.  By default,
  184. Xsearches are case insensitive, but the 'f' parameter controls this.
  185. XTVX also supports a set of "wild cards".  You can specify a set of
  186. Xletters, numbers, alphanumerics, punctuation, or other characters as
  187. Xpart of the wild cards.  The 'u' parameter also allows you to define
  188. Xyour own set of wild card characters.  TVX remembers the last pattern
  189. Xfound (the actual pattern, not just the wild cards), and has a command
  190. Xto insert that pattern into the text.  Thus, with repeat loops, wild
  191. Xcards, and the insert found pattern command, it is possible to do
  192. Xquite creative editing functions.  The 'm' parameter controls the use
  193. Xof wild card matching, so it can be disabled if you need to match one
  194. Xof the wild card characters. 
  195. X     Finally, TVX has parameters to control just how the screen is
  196. Xscrolled.  The home display line controlled by the 'd' parameter tells
  197. XTVX which line to put the cursor on when the screen has been
  198. X'verified'.  The 's' scroll window controls how many lines the cursor
  199. Xwill move up and down from the home line before scrolling the text.
  200. XIf the scroll window is 0, then the cursor will be fixed on the home
  201. Xdisplay line.  By setting it to another value, you can control how
  202. Xmuch context remains before scrolling.  These settings are very much
  203. Xpersonal taste. 
  204. X     TVX uses two techniques for protecting the original file from
  205. Xediting mistakes.  First, each time a file is edited, a new version is
  206. Xcreated, and the previous version retained in its original form as a
  207. Xbackup.  This file will change the original file extension to '.BAK'
  208. Xon MS-DOS systems, and '.B' on Unix.  A more complete description of
  209. XTVX file handling is included in an appendix.  Also, as you edit your
  210. Xfile, TVX has the capability to write all commands entered during the
  211. Xsession to a log file when that capability is enabled.  In the event
  212. Xof a major editing mistake, it is possible to edit that log file to
  213. Xremove the command errors, and then apply that "command" file to the
  214. Xprevious version of the edited file to get back to the state right
  215. Xbefore the mistake.  This feature also allows files of TVX commands to
  216. Xbe defined by the user and executed in one step.  The last section of
  217. Xthe Reference Manual explains how to use the command file feature. 
  218. X*** RUNNING THE EDITOR ***
  219. X     To edit a file using TVX, enter the following command line:
  220. X
  221. X          tvx filename -switch1 -switch2 ...
  222. X     (VIX, EMAX, and TVX0 use the SAME command line format and
  223. Xswitches.) The file name specified is the file to be edited, and must
  224. Xobey the conventions used by the local operating system (the MS-DOS
  225. Xversion requires DOS version 2.0, and supports pathnames).  If the
  226. Xfile is a new file (does not exist), TVX will ask if you really want
  227. Xto create it.  Answer y or n. If you gave an incorrect name, you may
  228. Xgive the correct name, but the switches entered on the original start
  229. Xline will remain in effect.  Control-C can be used at this point to
  230. X                                 -4-
  231. XTVX Reference Manual                                           2/25/86
  232. Xabort. 
  233. X     TVX has several switches which control certain operating
  234. Xcharacteristics.  Each switch begins with a minus (-), and is
  235. Xseparated from the file name and other switches by a blank in the
  236. Xstandard UNIX/C convention.  Some switches may be negated by using a
  237. X'nox' form.  Thus, '-b' will cause a .bak file to be generated, while
  238. Xa '-nob' causes the .bak file to be deleted on exit from the editor.
  239. XThis capability is indicated by []'s.  As many switches as necessary
  240. Xor desired can be used at one time in any order.  A ':' may be used
  241. Xinstead of a '=' for '-c' and '-o'.  The various switches supported
  242. Xinclude:
  243. X     -c=filename -- read a configuration file.  If only -c is
  244. X          specified, TVX will look for file called /bin/CONFIG.TVX on
  245. X          MS-DOS, for example.  The -c switch is not supported on all
  246. X          implementations. 
  247. X     -[no]b -- generate a .B[AK] version of the original (the usual
  248. X          default).  The -nob option means no .BAK file is generated.
  249. X          This latter mode of operation follows the normal Unix
  250. X          convention of not keeping past generations of a file. 
  251. X     -[no]i -- auto indent mode enabled. 
  252. X     -[no]l -- generate BACKUP.LOG file
  253. X     -o=filename -- send edited output to filename.  The output file
  254. X          can also be changed at any time during the editing session
  255. X          with the ':o' command. 
  256. X     -r -- read only - file can be read in only
  257. X     -s -- big save buffer - leaves more buffer for save file
  258. X     -t -- tty mode - puts TVX into tty mode, not using the screen.
  259. X          See the special appendix on tty mode.  (This is supported
  260. X          only by two mode versions of TVX.)
  261. X     -w -- word processing mode - sets autowrap on, margin to 65. 
  262. X     -z -- -z means use Control-Z to mark end of file, -noz means
  263. X          don't use.  This switch is used only on MS-DOS
  264. X          implementations. 
  265. X     -# -- entering a number from 3 up to the number of lines on the
  266. X          screen will create a smaller TVX editing window.  This is
  267. X          most useful for slower baud rates.  A -7 makes a nice, small
  268. X          window showing 7 lines. 
  269. X     TVX is mostly a programmer's editor, and can can edit any
  270. Xstandard text line file.  On Unix systems, it is an alternative to
  271. Xstandard editors such as ed or vi. 
  272. X                                 -5-
  273. XTVX Reference Manual                                           2/25/86
  274. X               *** Summary of Standard TVX Commands ***
  275. X     A key to success when using TVX is to remember that there are two
  276. Xmodes of operation.  The normal mode is command mode.  In this mode,
  277. Xall keystrokes are interpreted as commands.  When you want to enter
  278. Xtext, you must enter insert mode with the 'I' command.  While in
  279. Xinsert mode, all keystrokes entered will be inserted into the file and
  280. Xdisplayed on the screen.  You must exit from insert mode with the
  281. Xescape key.  When you enter insert mode, the message "### Insert Mode
  282. X###" will be displayed on the last line of the display.  Also, on many
  283. Xterminals, TVX will change the cursor shape between command and insert
  284. Xmode. 
  285. X     The modeless version of TVX (TVX0) uses the same mnemonics as
  286. XStandard TVX for the most part.  There is a 1:1 mapping between the
  287. Xcommands.  The modeless names for each command is included in each
  288. Xdescription of Standard TVX commands.  Counts for any modeless TVX
  289. Xcommand can be entered after the escape.  Thus, "<Esc>10K" will kill
  290. Xten lines, while <Esc>10^K" will kill 10 characters. 
  291. X     Notes: An n preceding a command means optional numeric
  292. X     argument may be supplied.  If omitted n will default to 1,
  293. X     and n can be zero or negative if appropriate.  '$'
  294. X     represents the escape key, and is used as a terminator for
  295. X     insert, find, and loops.  Control commands are indicated
  296. X     with '^'.  For example, '^K' represents Control-K, and is
  297. X     usually entered by simultaneously holding down the CTRL key
  298. X     and the K key. 
  299. XnA - Append to Save Buffer
  300. X     The 'A' command is used to append lines of text to the end of the
  301. Xsave buffer, even if other commands have been used since the last 'A'
  302. Xor 'S' command.  The append command works exactly like the 'S' command
  303. Xotherwise. 
  304. XB - Buffer beginning {TVX0: ^B}
  305. X     A 'B' causes the cursor to be moved to the beginning of the
  306. Xcurrent buffer. 
  307. X^B - Beginning of file {<Esc>B}
  308. X     The '^B' (Control-B) command is used to position the cursor to
  309. Xthe absolute beginning of the file.  The '^B' command will always
  310. Xwrite out the rest of the file, then re-read the first buffer full.
  311. XThis command has the side effect of making a new backup version of the
  312. Xfile.  It should be noted that any text saved in the save buffer will
  313. Xbe preserved during this operation, so that the 'S' save command can
  314. Xbe used to move text from the end to the beginning of a multi-buffer
  315. Xfile.  The search pattern and repeat loops are retained as well.  Note
  316. X                                 -6-
  317. XTVX Reference Manual                                           2/25/86
  318. Xthe '^B' file beginning is similar in concept to 'B' buffer
  319. Xbeginning. 
  320. XnC - Change {^C}
  321. X     'C' can be used to change characters.  Entering 'nC' is exactly
  322. Xequivalent to entering 'nKI'.  The command will cause 'n' characters
  323. Xto be killed, and insert mode to be entered.  The escape must be used
  324. Xto terminate the insert as usual. 
  325. XnD - Down {^D}
  326. X     'D' moves the cursor down n lines.  The cursor is placed at the
  327. Xbeginning of the new line.  For convenience, the ENTER key performs
  328. Xthe identical function. 
  329. Xn^D - Down in column {<Esc>D}
  330. X     Control-D ('^D') is similar to 'D', except the cursor remains in
  331. Xthe original column.  Columns are defined as characters from the
  332. Xbeginning of the line, so if a line has tab characters in it, the
  333. Xcursor may appear to move out of column on the screen. 
  334. XE - End of the buffer {^E}
  335. X     'E' causes the cursor to be placed at the end of the current text
  336. Xbuffer. 
  337. Xn^E - Edit repeat buffer n {<Esc>E}
  338. X     When making repeat loops, it is easy to make a mistake.  The ^E
  339. Xcommand allows any of the repeat buffers to be edited, and then the ^R
  340. Xcommand can save the corrected repeat buffer back.  If you don't give
  341. Xa value for n, the currently selected buffer is used.  If n is from 1
  342. Xto the maximum number of repeat buffers, then that repeat buffer will
  343. Xbe selected for editing. 
  344. X     The ^E command will insert the contents of the selected repeat
  345. Xbuffer into the current text buffer.  The repeat buffer will be
  346. Xinserted above the current text line.  The repeat buffer will start
  347. Xwith a sequence of '#n:<', where n will be replaced by the repeat
  348. Xbuffer being edited.  The '#n:' identifies which buffer you are
  349. Xediting, and is used by the ^R store repeat buffer command to identify
  350. Xthe buffer to save to.  Escapes will be represented by '^[' instead of
  351. Xthe '$' used when entering a repeat buffer initially.  A '>^[^['
  352. Xidentifies the end of the repeat loop. 
  353. X     It is possible to make as many changes as needed to the repeat
  354. Xloop.  Escapes can be added by using '27i'.  If you want to save the
  355. Xloop in a different buffer, you can change the number after the '#'.
  356. XIt is also important to maintain the '#n:<' start and '>^[^[' ending
  357. X                                 -7-
  358. XTVX Reference Manual                                           2/25/86
  359. Xsequences.  Also, loops are limited to a maximum of 100 characters.
  360. XYou can have carriage returns within the body of a loop, too.  If you
  361. Xwant to create a new buffer, you can use ^E on an empty repeat buffer
  362. Xto get the required '#n:<>^[^[' loop sequence. 
  363. X     After you have edited the repeat buffer, it can be saved with the
  364. X'^R' command.  You must place the cursor anywhere on the first line of
  365. Xthe repeat buffer before using '^R'.  When you press ^R, the buffer
  366. Xwill be saved in the buffer indicated right after the '#'.  Thus,
  367. Xunlike ^E, the ^R command accepts no n value. 
  368. XnF - Find text pattern {^F}
  369. X     'F' is used to find a text pattern.  When 'F' is entered, the
  370. Xmessage 'Find?' is echoed on the bottom line.  You then enter the
  371. Xpattern to find, terminated with the escape key (echoed as $).  When
  372. Xthe count 'n' is positive (which is the default), find searches the
  373. Xcurrent buffer from the current position forward.  If 'n' is negative,
  374. Xthen a backwards search is performed starting with the previous line.
  375. X(Use '^F' to search across buffers).  Normally, 'F' ignores the case
  376. Xof the letters in the pattern.  If the ':F' parameter is set with 0,
  377. Xthen 'F' command will match only the exact case.  See the ':' set
  378. Xparameter command for details of the ':F' parameter.  If the pattern
  379. Xis not found, "Not found" will be printed and the cursor remain at its
  380. Xoriginal location.  If the pattern is found, then the cursor will be
  381. Xplaced immediately following the pattern.  The pattern may be at most
  382. X100 characters long.  If the pattern is only an escape, then the
  383. Xprevious pattern will be used again (same as ';'). 
  384. X     TVX supports extensive wild card matching.  The ':M' set
  385. Xparameter controls whether or not wild card matching is turned on.
  386. XNormally, it is.  The wild card matching in TVX is based on the
  387. Xconcept of 'sets of special characters'.  TVX predefines 6 sets of
  388. Xcharacters, and allows the user to define one additional set.  When a
  389. Xspecial control character is included as part of the find pattern,
  390. Xthen any character in the specified set will match the pattern.  The
  391. Xpredefined sets are:
  392. X
  393. X    ^A - Alphanumeric characters: a-z, 0-9
  394. X    ^D - Digits: 0-9
  395. X    ^L - Letters: a-z
  396. X    ^O - Other characters: all characters except a-z, 0-9
  397. X    ^P - Punctuation: '.', ',', '!', '?'
  398. X    ^X - Any character: any printable character
  399. X    ^U - User character: any character in user set, set by ':U'
  400. X
  401. X     Any of the sets may be specified by entering the proper control
  402. Xcharacter in the find pattern: Control-A for the ^A set.  Thus,
  403. Xentering a find pattern of '^L^D' would match any letter followed by
  404. Xany digit.  Since it may be desirable to match a sequence of one of
  405. Xthe character sets, two prefix characters are supported.  A '^W'
  406. Xbefore one of the above sets will match a 'word' of that set.  Thus,
  407. X'^W^L' will match any word, and '^N^D' will match any number.  The
  408. Xfind pattern 'st^W^L' would match words starting with 'st'.  The '^N'
  409. Xprefix is used to make a 'word' of characters NOT included in the
  410. Xgiven set.  Thus, '^N^L' will match a 'word' of characters NOT
  411. X                                 -8-
  412. XTVX Reference Manual                                           2/25/86
  413. Xincluding the letters a-z.  A match 'word' consists of any sequence of
  414. Xcharacters (at least one character long) found in the given set, up to
  415. Xthe first character not in the set.  End of lines also terminate all
  416. Xwild card patterns.  The only real way to adequately understand TVX
  417. Xwild cards is to use them in practice. 
  418. X^F- Find across buffers {<Esc>F}
  419. X     '^F' (Control-F) is the same as Find, except the search will
  420. Xcross buffer boundaries.  Whenever a buffer is searched without
  421. Xfinding the pattern, the next buffer will be read in.  The screen will
  422. Xnot change until the pattern is found or the file is exhausted.  If
  423. Xthe pattern is not found anywhere, then the entire file will have been
  424. Xwritten out, and there will be an empty buffer.  The '^B' command may
  425. Xbe used at that point to get back to the beginning of the file. 
  426. XG - Get saved text {<Esc>G}
  427. X     'G' is used with 'S' and '^Y' to move text around.  'G' causes
  428. Xthe text in the save buffer to be inserted before the current cursor
  429. Xposition.  The saved text remains in the save buffer.  There must be
  430. Xat least one line of text in the main buffer before 'G' will get the
  431. Xtext from the save buffer. 
  432. X^G - Get killed line (unkill) {^G}
  433. X     The '^G' (Control-G) unkill command can be used to "unkill" one
  434. Xline, which will be the last line killed with '^K'.  If the last
  435. Xcommand was 10^K (kill 10 lines), then '^G' will retrieve only the
  436. Xlast line killed.  The "unkilled" line will be inserted right before
  437. Xthe current cursor position.  It is also possible to move single lines
  438. Xaround the text buffer using '^K' and '^G' - but be cautious.  Any
  439. Xother '^K' command will reset the last killed line.  '^G' can also be
  440. Xused to retrieve the entire line involved in a "'" (single quote) or
  441. X'"' (double quote) command. 
  442. XnH - Half page {<Esc>H}
  443. X     'H' is similar to the 'P' Page command.  It causes the cursor to
  444. Xmove down a half screenful.  This will be typically be 12 lines.  A
  445. Xnegative count (e.g.  -h) moves up a half screen. 
  446. XnI - Insert {<Esc>I}
  447. X     'I' causes the editor leave command mode and enter insert mode.
  448. XFollowing the 'I', all text typed in is inserted into the file until a
  449. Xterminating escape is typed.  Inserted text is echoed on the screen as
  450. Xit is inserted.  If any value is supplied for n (the default no n is
  451. Xnot used), then only one character is inserted, and it will have the
  452. Xascii value of n. This is the method used to enter characters that
  453. Xcannot normally be entered in insert mode, such as escape or
  454. X                                 -9-
  455. XTVX Reference Manual                                           2/25/86
  456. Xcharacters not on the keyboard.  The message "### Insert Mode ###" is
  457. Xdisplayed on the bottom line when insert mode is entered (except when
  458. Xinserting on the very last line of the file).  Many versions of TVX
  459. Xwill change the shape of the cursor when insert mode is entered.
  460. X{Insert is useful in the modeless version of TVX for entering either
  461. Xsingle characters (<Esc>nI), or when several control characters will
  462. Xbe entered (e.g., ^L).}
  463. XJ - Jump back {<Esc>J}
  464. X     The 'J' command will cause a "jump" back to the line of the
  465. Xprevious cursor position.  Suppose the cursor was positioned somewhere
  466. Xin the middle of the file.  If the 'E' end command was entered, the
  467. Xcursor would move to the end of the current buffer.  If the 'J'
  468. Xcommand was then used, the cursor would return to the original line.
  469. XIt makes it convenient to flip back and forth between two points in
  470. Xthe file.  It is also useful if a large cursor movement command is
  471. Xaccidentally entered (like when you thought you were in insert mode). 
  472. XnK - Kill Character forward {^K}
  473. X     The 'K' command kills or deletes characters in a forward
  474. Xdirection.  '1K' would delete the character the cursor is positioned
  475. Xover, and '5K' would delete the next 5 characters. 
  476. Xn^K - Kill lines {<Esc>K}
  477. X     '^K' (Control-K) is used to kill an entire line.  n=1 kills the
  478. Xcurrent line, negative n kills previous lines, while positive n kills
  479. Xfollowing lines. 
  480. XnL - Left {^L}
  481. X     'L' moves the cursor n characters to the left. 
  482. XM - Memory and Status {<Esc>M}
  483. X     The 'M' command is used to display certain status information.
  484. XThe name of the file currently being edited (where the output will go)
  485. Xis displayed, followed by the version of TVX.  The number of free
  486. Xcharacters currently available in the buffer is then given (this does
  487. Xnot include characters that are free but not compacted yet), followed
  488. Xby the number of the last line of the file.  Finally, the currently
  489. Xselected repeat loop buffer and maximum number of repeat buffers
  490. Xallowed is shown. 
  491. XnN - Note current location {^N}
  492. X     This command notes the current line location.  Values of 1 to 9
  493. Xare allowed for n. After entering '3n' for example, you can then move
  494. X                                 -10-
  495. XTVX Reference Manual                                           2/25/86
  496. Xaround the buffer, and later use '3^n' to return to the noted
  497. Xlocation.  This command really remembers the current line, relative to
  498. Xthe current buffer beginning.  Thus if you edit out lines before the
  499. Xnoted location, you will not return to the same line. 
  500. Xn^N - Go back to noted location {<Esc>N}
  501. X     This command is used to go back to a noted location. 
  502. XnO - Open line for insert {^O}
  503. X     The 'O' command will cause n blank lines to be inserted, and the
  504. Xcursor positioned at the beginning of the first new line.  Following
  505. Xthe 'O' command, insert mode is automatically entered.  The 'O'
  506. Xcommand is a convenient method for inserting new lines. 
  507. X^O - Operating System call {<Esc>O}
  508. X     Some versions of TVX (MS-DOS and Unix, for example), will allow
  509. Xan operating system command to be executed from inside of the editor.
  510. XFor example, it might be useful to get a directory listing.  On
  511. XMS-DOS, after entering the ^O, the normal 'dir' command is entered.
  512. XAfter the directory is shown by the operating system, pressing any key
  513. Xwill return to the edited file. 
  514. X     This command has one particularly valuable application - editing
  515. Xother files.  For example, you may want to add part of another file to
  516. Xthe file you are currently editing.  Use the '^O' command to edit the
  517. Xother file, and create a temporary file with the part you want to
  518. Xadd.  Then you can use the '^Y' yank command to read in the file.  For
  519. Xexample: Use '^O' to get enter operating system command prompt.  Then
  520. Xenter something like 'tvx otherfile -o=tempfile'.  You will get a new
  521. Xcopy of tvx with the otherfile being edited.  Edit it to get the part
  522. Xyou want.  When you exit that copy of tvx, the part you want to add
  523. Xwill be in tempfile.  You can now yank it into the current file. 
  524. XnP - Page {^P}
  525. X     The 'P' commands is the same as '25D' on 24 line terminals, and
  526. Xeffectively causes a new screenful to be written.  It is a convenient
  527. Xmethod for scanning through the file.  The n count argument specifies
  528. Xthe number of 'pages' to scroll.  Negative values for n causes reverse
  529. Xscrolling. 
  530. X^P - Print Screen {<Esc>P}
  531. X     If '^P' (Control-P) is entered, and a printer is on line, the
  532. Xentire contents of the screen will be sent to the printer.  Several
  533. Xconsecutive sequences of "P^PP^P..." (or a repeat loop: "10<P^P>$$")
  534. Xcan be used to print longer portions of the file.  This command will
  535. Xnot normally work on time shared systems such as Unix. 
  536. X                                 -11-
  537. XTVX Reference Manual                                           2/25/86
  538. XnR - Right {^R}
  539. X     'R' causes the cursor to move n characters to the right.  For
  540. Xconvenience, the space bar is equivalent to 'R'. 
  541. X^R - Restore repeat buffer {<Esc>R}
  542. X     The '^R' command will save an edited repeat buffer and delete the
  543. Xedited buffer from the text.  See '^E' for a complete summary of
  544. Xediting repeat buffers. 
  545. XnS - Save text {<Esc>S}
  546. X     Besides the normal text buffer, TVX has a separate "save"
  547. Xbuffer.  This buffer can be used to move blocks of text from one part
  548. Xof the file to another.  A simple 'S' command will save the current
  549. Xline in the save buffer, and move the cursor down one line.  On the
  550. Xscreen, 'S' appears to have the same behavior as 'D'.  If n is
  551. Xsupplied, then n lines will be saved.  'S' can also be used
  552. Xsequentially.  If no other commands intervene, consecutive 'S'
  553. Xcommands will continue adding lines to the save buffer.  If any other
  554. Xcommands are entered between consecutive 'S' commands, the previous
  555. Xcontents of the save buffer will be lost, and replaced with the new
  556. Xline.  The 'A' command can be used to append lines to the current save
  557. Xbuffer without losing the previous contents. 
  558. X     The '/' command can be used with 'S' and 'G' to move text.  Use
  559. X'S' to save the text to be moved, immediately delete the saved text
  560. Xwith '/', then insert it at the new place with 'G'.  The last line of
  561. Xthe file is can be saved in the save buffer only once, and an error
  562. Xmessage will be printed if you attempt to save the last line a second
  563. Xtime. 
  564. XnT - Tidy text {^T}
  565. X     The 'T' tidy command is specifically designed to improve the
  566. Xappearance of strictly text files.  When entering letters and
  567. Xdocuments, is it usually desirable to have the lines filled to the
  568. Xright margin.  However, after editing, it is common to find a jumble
  569. Xof uneven, difficult to read source lines.  The 'T' tidy command will
  570. Xfill source text using the same right margin currently set for
  571. Xauto-wrap. 
  572. X     Tidy performs essentially the same operation as a word processor
  573. Xfill function.  Word are combined on one line until the auto-wrap
  574. Xmargin is passed.  The 'n' count refers to the total number of
  575. Xresulting lines, not the number of original lines.  Specifying a large
  576. X'n' will tidy large sections of a document.  The tidy command
  577. Xrecognizes lines beginning with blanks, tabs, or a period and blank
  578. Xlines as special.  It will not fill those lines, thus preserving
  579. Xparagraphs, tables and NROFF-like dot commands. 
  580. X     One interesting capability of tidy is to put one word per source
  581. Xline.  Set the auto-wrap margin to 2, then use the tidy command.  The
  582. Xresult will put one word per line. 
  583. X                                 -12-
  584. XTVX Reference Manual                                           2/25/86
  585. X^T - TERMINATE - ABORT EDIT SESSION {<Esc>T}
  586. X     The '^T' (Control-T) command aborts directly to the operating
  587. Xsystem.  The original file is left untouched, and no backup file is
  588. Xcreated.  This is a fairly dangerous command in that all editing
  589. Xperformed will be lost (unless the '^B' file beginning command was
  590. Xused).  You will be asked to confirm the '^T' command with a Y or N.
  591. XIf the '^T' is performed accidentally, the backup log file can be
  592. Xapplied to the current version of the file after the '^T' has been
  593. Xedited out of the log file (no backup file will have been created
  594. Xafter the '^T').  The '^T' command is most useful when you decide you
  595. Xdon't want to make any changes and want to exit from TVX quickly.
  596. XExiting with the '^T' command is similar to using the 'R' read only
  597. Xswitch at the beginning. 
  598. X     If you have used the '^B' command, a work file copy of the
  599. Xoriginal will have been written out containing all the edits performed
  600. Xbefore the '^B'.  When you use '^T' and this work file has been saved,
  601. Xa message informing you of its existence will be printed.  You can
  602. Xthen either use that file, or delete it at the operating system
  603. Xlevel. 
  604. XnU - Up {^U}
  605. X     The 'U' command moves the cursor up n lines, positioning the
  606. Xcursor at the beginning of the line. 
  607. Xn^U - Up in column {<Esc>U}
  608. X     The '^U' (Control-U) is the opposite of '^D', and moves the
  609. Xcursor up in column. 
  610. XnV - Verify the screen {^V}
  611. X     In regular screen editing mode, the 'V' command causes the screen
  612. Xto be rewritten.  This is sometimes necessary to get a true version of
  613. Xthe screen after error messages have been written or when editing
  614. Xlines longer than 80 columns.  On terminals without reverse screen
  615. Xscroll, the 'V' command forces the cursor to the home display line
  616. X(usually line 16).  In screen mode, 'V' ignores any n.
  617. X     In tty mode, the 'V' command is used to type lines from the file
  618. Xon the terminal.  A negative n will type out lines preceding the
  619. Xcurrent line.  An n of 1 types the current line, with the current
  620. Xcursor position indicated by '/'.  An n greater than 1 types the
  621. Xcurrent line, plus the following n-1 lines.  A command '-12v12v' would
  622. Xtype 24 lines on the terminal: 12 before, the current line, and 11
  623. Xfollowing. 
  624. Xn^W - Write out buffer, read next one {<Esc>W}
  625. X     The '^W' (Control-W) command is used to explicitly go from one
  626. Xbuffer to the next.  By default, when n is >= 0, the entire current
  627. Xbuffer is written to the new version of the file being edited, and the
  628. X                                 -13-
  629. XTVX Reference Manual                                           2/25/86
  630. Xnext buffer full of the original file (if any) is read in.  If a
  631. Xnegative n is supplied (any negative value, most easily -^W), then
  632. Xonly the part of the buffer up to (but not including) the current line
  633. Xis written.  Then as much more of the file as possible is read to the
  634. Xend of the current buffer.  Thus, a negative n is useful when a file
  635. Xwon't fit, and the split point is at an awkward place.  It is also
  636. Xuseful when a '^Y' yanked file won't fit. 
  637. X^X - eXit {<Esc>X}
  638. X     '^X' (Control-X) causes the remainder of the file to be written
  639. Xout, and the editor exited.  The entire file will be written, no
  640. Xmatter where the cursor happens to be positioned when the '^X' command
  641. Xis entered.  This is the normal conclusion of an editing session.  All
  642. Xwork files are deleted, the original file renamed to the back up file,
  643. Xand the newly edited file renamed to the original name.  See the
  644. Xappendix on tvx file handling conventions for more details. 
  645. Xn^Y - Yank text to/from external file (file merge) {<Esc>Y}
  646. X     A '^Y' (Control-Y) with a positive n is similar to 'S' save, but
  647. Xthe text saved in the save buffer is read in from an external file
  648. Xinstead of from the current buffer.  When '^Y' is entered, the save
  649. Xbuffer is cleared, the buffer compactor invoked, and then the user is
  650. Xprompted for the name of the file to read.  TVX then will read as much
  651. Xof the external file into the save buffer as it can.  The 'G' command
  652. Xcan then be used to insert the save buffer text into the current file
  653. Xat the desired location.  If there is not enough room in the save
  654. Xbuffer to hold the entire file, then only part of the file is read and
  655. Xa diagnostic message printed.  The '-S' switch can be used when TVX is
  656. Xfirst invoked to reserve a large save buffer for merging larger
  657. Xfiles.  You can also use the '-^W' command to write out the front part
  658. Xof the file, and then 'G' to get the saved file.  (Note: '^Y' may not
  659. Xbe used from within a log command file.  See section on backup log
  660. Xfile.)
  661. X     A negative n (e.g., '-^Y') can also be used with the yank
  662. Xcommand.  If the n is negative, then the contents of the save buffer
  663. Xwill be written to a new file.  After '-^Y' is entered, you will be
  664. Xprompted for the name of the output file, and then the contents of the
  665. Xsave buffer will be written to that file. 
  666. XnBACKSPACE - Delete previous character {BS}
  667. X     The BACKSPACE key will delete the previous character on the
  668. Xscreen.  It is also used for editing input keystrokes for Insert,
  669. XFind, and repeat loops. 
  670. Xn; - Find again
  671. X     The ';' (semicolon) command causes the previous pattern to be
  672. Xsearched for again.  This is more convenient that entering 'F$'
  673. Xagain.  The 'n' has the same meaning, positive searches forwards,
  674. X                                 -14-
  675. XTVX Reference Manual                                           2/25/86
  676. Xnegative backwards. 
  677. X/ - delete last thing {<Esc>/}
  678. X     The '/' (slash) command is useful when used with 'F' (find), 'S'
  679. X(save), 'G' (get), 'TAB' (word right), and '{' (word left).  It causes
  680. Xthe last pattern used to be deleted.  Thus "Fxxx$/Iyyzz$" will delete
  681. Xthe pattern 'xxx' and insert 'yyzz'.  When used after an 'S', it
  682. Xcauses the just saved lines to be deleted from the text buffer (but
  683. Xnot the save buffer).  After the G, it causes the text just inserted
  684. Xfrom the save buffer to be deleted from the text buffer.  After a
  685. X'TAB' or '{', '/' will delete the word or words just skipped over.
  686. XSlash must be used immediately following an 'S', 'G', 'TAB', '{', 'F',
  687. X'^F', or ';' command.  This command knows how to take wild card
  688. Xmatches into account. 
  689. X= - delete last thing and enter insert mode {<Esc>=}
  690. X     The '=' (equals) command is the same as the '/' command, except
  691. Xinsert mode is automatically entered, thus achieving the effect of
  692. X'/I' command sequence. 
  693. X' - Delete previous part of line (single quote) {<Esc>'}
  694. X     The "'" command will delete all the characters in the current
  695. Xline before the cursor. 
  696. X" - Delete rest of line (double quote) {<Esc>"}
  697. X     The '"' command will delete from the cursor forward to the end of
  698. Xthe line.  The "end of line" mark will remain.  Note that the single
  699. Xquote has one tick, representing the "first" part of the line, while
  700. Xthe double quote has two ticks, representing the "second" part of the
  701. Xline. 
  702. X, - beginning of line (comma) {<Esc>,}
  703. X     The ',' command will move the cursor to the beginning of the
  704. Xcurrent line. 
  705. X. - end of line (period) {<Esc>.}
  706. X     The '.' command will move the cursor to the end of the current
  707. Xline. 
  708. X                                 -15-
  709. XTVX Reference Manual                                           2/25/86
  710. X* - Insert last pattern found {<Esc>*}
  711. X     The last pattern found with the find command (up to 100
  712. Xcharacters) is saved in an internal buffer.  The '*' command will
  713. Xinsert that pattern into the text at the current cursor location.  If
  714. Xthe last find pattern included wild card characters, the pattern saved
  715. Xwill be the actual text matched, and not the wild cards themselves.
  716. XYou must be back in command mode to use this command. 
  717. XnTAB, n{ - Skip over words {<Esc>^I, <Esc>{}
  718. X     The 'TAB' (TAB key, CTRL-I) and '{' commands skip over words.  A
  719. Xword is any contiguous set of alphabetic characters (a-z) or digits
  720. X(0-9).  'TAB' moves forwards, while '{' moves backwards.  The 'n'
  721. Xcount may be used to skip over several words at once, and a negative
  722. Xcount reverses the direction of the move.  A value of 0 for n will
  723. Xmove the cursor to the beginning of the current word rather than the
  724. Xprevious word as -{ would.  Note that '{' is usually aliased to '['
  725. Xsince these are often reversed case on different terminals. 
  726. Xn< - begin repeat loop {<Esc><}
  727. X     TVX has up to 9 different repeat loop buffers which allow an
  728. Xarbitrary sequence of commands to be repeatedly executed.  When n< is
  729. Xtyped, the editor echoes 'Repeat: n<' at the bottom of the screen.
  730. XThe user then types in any series of commands to be repeated n times.
  731. XThe repeat command is terminated with a matching '>' and a double
  732. Xescape (echoed as $$).  Repeat loops may not be nested.  The repeat
  733. Xloop has two typical useful functions: one is to replace multiple
  734. Xoccurrences of a string with another (e.g., "10<fone$=two$>$$"), a
  735. Xsecond is to save a complicated sequence of commands to be repeated as
  736. Xnecessary with the '&' command (i.e., a macro facility).  Each repeat
  737. Xloop may have up to 100 characters. 
  738. X     When a repeat loop is entered from the keyboard, it is saved in
  739. Xone of up to 9 repeat loop buffers, each identified by an integer
  740. Xvalue.  The repeat buffer which is currently in use can be set with
  741. Xthe 'n:R' command.  Buffer 1 will be used by default.  The number of
  742. Xrepeat buffers available and the currently active one can be
  743. Xdetermined by using the 'M' command.  The availability of repeat
  744. Xbuffers allows the definition of 'edit macros'.  Commonly used
  745. Xsequences of editor commands can be saved in a given repeat buffer,
  746. Xthen selected with 'n:R' and executed with the '&' command. 
  747. X     For example, "3:R<fpat1$>$$" would select repeat buffer 3 and
  748. Xenter the repeat command into it (and execute the command once).
  749. XOther "macros" could be entered in other buffers, and then the given
  750. Xexample used again by "3:R&".  A count 'n' of 0 can be used to enter a
  751. Xmacro without executing it.  The indirect command file facility ('@'
  752. Xcommand) can also be used to define and load commonly used macros.
  753. XThe results of using one repeat buffer from within another is not
  754. Xguaranteed, and should be tried only at your own risk. 
  755. X     The '#' command has been provided to simplify the above
  756. Xsequence.  Entering '23#4' for example, is exactly the same as
  757. Xentering '4:r23&'.  The n value is a count, and the single digit after
  758. Xthe '#' is the repeat buffer to use. 
  759. X                                 -16-
  760. XTVX Reference Manual                                           2/25/86
  761. X>$$ - End of repeat loop {>$$}
  762. X     The repeat loop is terminated by a '>' and a double escape.
  763. XNote: '$$' represents escape. 
  764. Xn& - execute repeat loop {<Esc>&}
  765. X     The '&' command executes the commands in the currently selected
  766. Xrepeat buffer n times. 
  767. Xn#k - execute repeat loop k {<Esc>#}
  768. X     This command is an easy to execute a specified repeat buffer.
  769. XThe n is a count and the k is a single digit repeat buffer number.
  770. XThis command is exactly equivalent to 'k:rn&'.  Repeat buffer k
  771. Xbecomes the current buffer after '#' is executed. 
  772. Xn~ - change case {<Esc>~}
  773. X     This command chanages the case of the character under the
  774. Xcursor. 
  775. X? - Help {<Esc>?}
  776. X     The '?' command causes help screens to be displayed.  There are
  777. Xtwo help screens.  The first includes a summary of transitory values:
  778. Xa summary of settable ':' parameters, the contents of the repeat and
  779. Xfind buffers, as well as buffer space left.  On 16 bit processors, if
  780. Xthe space left is greater than 32,000 characters, then 30,000+x will
  781. Xbe shown, where the total is 30,000 plus x. The first screen also
  782. Xshows the last 16 commands you have entered.  This may be useful if
  783. Xyou entered "commands" while you thought you were in insert mode to
  784. Xsee what your keystrokes might have done.  The second screen of help
  785. Xsummarizes the command set. 
  786. X@ - Invoke command file {<Esc>@}
  787. X     Causes a prompt for command file name.  Commands in that file are
  788. Xthen read in and executed.  See description of backup command files
  789. Xbelow for details.  This command is most useful for loading repeat
  790. Xmacros. 
  791. Xn:P - Set special parameters {<Esc>:}
  792. X     The ':' (colon) command is used to set several TVX
  793. Xcharacteristics.  The value n entered before the ':' is the value to
  794. Xset the parameter to, and the character P that follows the ':' defines
  795. Xthe parameter to set.  Valid parameters include:
  796. Xn:A - set autoindent.  A value of 1 turns on autoindent, 0 off.
  797. X                                 -17-
  798. XTVX Reference Manual                                           2/25/86
  799. X   Autoindent is useful for programmers.  When autoindent is on, each
  800. X   new line started while in insert mode will be indented to the same
  801. X   leading tab/blank space as the previous line.  Use blanks or tabs
  802. X   to add indentation, and backspace to backup over indentation. 
  803. Xn:C - set cut mode.  When cut mode is enabled (1), killed lines are
  804. X   also saved in the save buffer.  This works for individual kill
  805. X   commands, e.g.  'kkk' will save only the line associated with the
  806. X   3rd k, while '3k' will save 3 lines in the save buffer.  With cut
  807. X   mode off, kill line does not save the lines in the save buffer. 
  808. Xn:D - set home "display" line to n. The display line is the line the
  809. X   cursor homes to after a verify command.  (Default home display
  810. X   line: 16 on 24 line terminals, 9 on 16 line terminals.)
  811. Xn:E - Expand tab value.  The default value for ':E' is 8, which causes
  812. X   the tab character (^I) to be expanded to multiples of 8 columns.
  813. X   This is the standard used on most systems.  Setting ':E' to 0 will
  814. X   cause tabs to be displayed as '^I' instead.  Other values are
  815. X   possible, but less useful. 
  816. Xn:F - Find case mode: n <= 0 sets find mode to search for exact case
  817. X   of pattern, n > 0 (default) set search mode to ignore upper/lower
  818. X   case. 
  819. Xn:M - Match wild cards.  (default=1).  If on, then matching of the TVX
  820. X   wild card sets is enabled.  If off, then the wild card control
  821. X   characters will match the actual control characters in the file. 
  822. X:o - set output file name.  When ':o' is entered, you will be prompted
  823. X   for the name of the edited output file.  This overrides the '-o'
  824. X   command line switch, and can be used to change your mind about the
  825. X   name of the edited file.  If the output file name is different than
  826. X   the input file name, the input file will not be renamed to the
  827. X   backup file name. 
  828. Xn:R - select repeat buffer n. (default=1).  Repeat buffer n becomes
  829. X   the current repeat buffer executed with the '&' command.  The 'm'
  830. X   status command will show how many repeat buffers are available for
  831. X   a given implementation. 
  832. Xn:S - scroll lines: This parameter sets how many lines the cursor will
  833. X   move before the screen scrolls.  The exact effect of the scroll
  834. X   parameter depends on the terminal characteristics.  On terminals
  835. X   that allow a blank line to be inserted at the top, ':S' sets how
  836. X   many lines cursor will move above and below home display line
  837. X   before scrolling.  Default is 0. Changing the scroll value to 4
  838. X   would let the cursor move up and down 4 lines from the home display
  839. X   line before actually scrolling the screen.  Some users might find
  840. X   this update mode more pleasant to use.  This will be almost
  841. X   essential on heavily loaded time shared systems.  For terminals
  842. X   that do not allow a blank line to be inserted at the top (no
  843. X   reverse scroll), 'n:S' sets how many lines cursor will move above
  844. X   the home display line before the screen is rewritten.  Default is
  845. X   14, which causes the cursor to move nearly all the way to the top
  846. X   before rewriting the screen. 
  847. X                                 -18-
  848. XTVX Reference Manual                                           2/25/86
  849. Xn:T - tty mode.  A 0 is screen mode, a 1 is tty mode. 
  850. X:U - set User Wild Cards.  After entering :U, you will be prompted for
  851. X   a user wild card set.  You can use backspace to correct your entry,
  852. X   and '<Esc><Backspace>' to enter backspace and '<Esc><Esc>' to enter
  853. X   escape. 
  854. Xn:V - virtual window lines.  The 'n:V' will set the virtual window to
  855. X   n lines.  N must be between 3 and the number of hardware lines on
  856. X   the terminal.  A smaller virtual window is extremely useful on busy
  857. X   time shared systems, or when TVX is used over a telephone line at a
  858. X   relatively slow baud rate.  Typically, a virtual window of 7 or 9
  859. X   is big enough to show a reasonable part of the file, yet small
  860. X   enough to reduce the overhead of screen update at slow speeds.  A
  861. X   window of 3 or 5 can even be used if needed.  Note that the virtual
  862. X   window can be set at start up time by using the '-#' switch.  The
  863. X   virtual window will use the top n physical lines of the display.
  864. X   Error messages and prompts will still be displayed on the bottom
  865. X   physical line.  Scanning up with 'u' will cause the lines to be
  866. X   scrolled onto the unused part of the screen, and gives a true
  867. X   picture of the file showing more lines than the window size. 
  868. Xn:W - set auto wrap width.  The ':W' parameter sets the column number
  869. X   used for auto wrap mode.  When the auto wrap is set to a value
  870. X   greater that 1, TVX will automatically insert an end of line when
  871. X   the user types the first blank after the given column.  Normally,
  872. X   the user must manually hit the RETURN key to force an end of line.
  873. X   The auto wrap mode allows continuous entry of text without worrying
  874. X   about the right margin.  A good value to use for ':W' is 10 columns
  875. X   less than the screen width (70 on 80 columns screens). 
  876. XAn invalid parameter value or name causes an error message. 
  877. X                                 -19-
  878. XTVX Reference Manual                                           2/25/86
  879. X                   *** BACKUP LOG FILE FEATURE ***
  880. X     TVX has a backup log file feature.  When the feature is enabled,
  881. Xall commands entered in any given session are saved on a file called
  882. X"BACKUP.LOG" on the current directory or drive.  If for some reason
  883. Xyou destroy your file during an editing session (like accidentally
  884. Xentering "100^K" instead of "100K"), you won't have to manually
  885. Xre-edit the backup version of the file.  (By default, the log file is
  886. Xdisabled.  The 'L' invocation time switch will respectively disable or
  887. Xenable the log file feature.)
  888. X     The "BACKUP.LOG" file contains all the commands you entered in
  889. Xthe last session.  Most commands will appear in the log file as you
  890. Xentered them: R, U, D, etc.  However, all control characters,
  891. Xbackspace, and the atsign are encoded in the log file to make them
  892. Xappear as printable characters.  The atsign '@' is used as an encoding
  893. Xcharacter.  So, for example, tabs appear as '@I', escapes as '@[',
  894. XRETURNs as '@M', and so on.  Control-A would appear as '@A'.  The '@'
  895. Xitself would appear as '@@'.  Backspace appears as '@H'.  These escape
  896. Xsequences may be split across the end of a line in the log file.  The
  897. Xend of line marks in the log file are not part of the command stream
  898. Xand are ignored. 
  899. X     The procedure for using the "BACKUP.LOG" file to restore your
  900. Xfile is as follows.  When you realize you have made a mistake, enter
  901. Xthe '^X' exit command.  Copy "BACKUP.LOG" to a temporary working
  902. Xfile.  Now edit that temporary version of the log file to remove the
  903. Xmistakes, which should be near the end of the file. 
  904. X     Once the log file has been edited to remove the bad commands, you
  905. Xshould then re-edit the original file (the one without the mistakes).
  906. XThe latest version of the file will be the one with the mistakes, and
  907. Xshould usually be killed.  Start TVX and read in the file.  Then enter
  908. Xthe '@' command and supply the name of the "repaired" log file.  All
  909. Xthe commands in that log file will be applied to the original file.
  910. XYou should be careful to start the '@' command when the cursor is at a
  911. Xspecific place such as the beginning of the file.  After the '@'
  912. Xcommand is finished, your file will be in the same shape it was before
  913. Xthe mistake. 
  914. X     For example, suppose you are editing a file called "MYFILE0.TXT"
  915. Xand that you accidentally kill 100 lines.  When you realize your
  916. Xmistake, you enter '^X' to exit.  Then you should copy or rename the
  917. XBACKUP.LOG file to a new temporary file - say FIX.LOG.  The current
  918. Xversion of the file you were editing is the bad file and should be
  919. Xdeleted.  On CP/M and MS-DOS versions, you would rename MYFILE0.BAK to
  920. Xbe MYFILE0.TXT again.  Then, edit FIX.LOG to remove the command that
  921. Xkilled 100 lines and the quit command ("100@K@X").  Exit again, and
  922. Xre-edit MYFILE0.TXT.  If you then enter the '@' command, and respond
  923. Xwith FIX.LOG as the name of the command file, your file will be
  924. Xbrought back to the state it was in right before the '100^K'. 
  925. X     There are some special cases that require special attention when
  926. Xusing the backup log file.  These cases involve the entry of file
  927. Xnames or strings, such as for '^Y', ':o', and ':u'.  For 'Y', the file
  928. Xread as a part of the given command is read using the same I/O channel
  929. X                                 -20-
  930. XTVX Reference Manual                                           2/25/86
  931. Xas the backup log file input, and thus both cannot be used at the same
  932. Xtime.  If the backup log file contains any '^Y' commands (displayed in
  933. Xthe log file as '@Y'), you must remove them.  Obviously, this will
  934. Xalter the order of the commands in the file, and you will need to use
  935. Xa special procedure.  Suppose, for example, that the backup log file
  936. Xcontained one '^Y' command.  Make two copies of the backup log file.
  937. XEdit the first, and remove all commands following the '^Y' command,
  938. Xincluding the '^Y' command.  Then edit the other copy, and remove all
  939. Xcommands before the '^Y', including the '^Y'.  Then, edit the backup
  940. Xcopy of the original file.  First, apply the first backup log file.
  941. XThis will get you to the point right before the '^Y'.  Then without
  942. Xchanging the cursor position, manually enter the '^Y' command and file
  943. Xname.  Finally, apply the second copy of the backup log file. 
  944. X     For ':o' and ':u', the filename or user set are not save as part
  945. Xof the log file, and you will in fact be prompted for the file name or
  946. Xuser set while the log file is being executed.  There is no real clean
  947. Xway around this. 
  948. X     It is also possible to write log command files of your own to
  949. Xcarry out specific commands.  This allows the creation of "macros"
  950. Xthat can be executed as needed.  When creating log files of your own,
  951. Xyou should remember that control characters and backspaces must appear
  952. Xas encoded characters.  The '@' is the encoding character.  Control
  953. Xcharacters will appear as '@' followed by the appropriate letter: '^I'
  954. X= '@I', enter = '@M', etc.  An '@' itself is '@@', and backspace is
  955. X'@H', although you should never need a backspace in your own files
  956. X(use -K). 
  957. X                                 -21-
  958. X
  959. SHAR_EOF
  960. echo ALL DONE!
  961. exit 0
  962.  
  963.