  11..  IInnttrroodduuccttiioonn

  Type CCttrrll+gg (type gg while holding the CCttrrll key) to return to the table
  of contents.  Move the cursor with the following keys and press EEnntteerr
  to see its content:

     CCttrrll+pp : Move cursor one line up
     CCttrrll+nn : Move cursor one line down

  You can move the cursor to the previous or the next section by press-
  ing `;;' or `::' key, respectively in this page. (You can use keys
  described in the KKEEYY window that will be displayed by CCttrrll+hh key.)

  The following notations are used in this document.

     Keyboard
        _T_c_b(1) commands generally involve the CCttrrll key.

        ^^HH     : CCttrrll+hh
        ^^JJ^^HH   : ^^JJ, release it, then ^^HH
        ^^JJbb    : ^^JJ, release it, then bb
        ^^XX^^KKee  : ^^XX, release it, then ^^KK, release it, and then ee

        The EEnntteerr and EEsscc keys can be used in place of ^^MM and ^^[[,
        respectively.

     String
        The outputted messages by _t_c_b(1) are shown within parentheses
        "", the strings inputted from the keyboard excluding ^^MM
        (abbreviation for `CCttrrll+mm') are shown within parentheses `' and
        other terms are shown within parentheses ``''.

     Program name
        The manual page for the programs such as ``ls'' (displayed as
        _l_s(1)), which will be executed by _t_c_b(1), can be referred by
        typing ^^JJmm and then `1 ls EEnntteerr' (or just `ls EEnntteerr') at the
        bottom of the window.

     File name
        A file that has no manual page is displayed as a _f_i_l_e without a
        section No..  The _f_i_l_e name ends with ``/'' denotes a directory.
        ``~'' is also a directory name that will be displayed by typing
        `echo $HOME EEnntteerr'.  The files excluding the special devices in
        _/_d_e_v_/ and directories are displayed as ``regular-file''.

     Mode name
        A boldfaced string written in capital letters such as SSHHEELLLL
        denotes a mode name that will be described in the FFiillee mmaannaaggeerr's
        section.

  _T_c_b(1) can be started with either following mode. (This mode name is
  displayed on the line begins with the string ``Startup mode:'' in the
  TTCCBB window of KKEEYY.)

     ppaaggeerr
        _T_c_b(1) will work as a ppaaggeerr when it is started with a pipe (`ls
        -l | tcb EEnntteerr' etc.) or a _f_i_l_e (regular-file) argument (`tcb
        file EEnntteerr').  In this mode, you can utilize only part of ffiillee
        mmaannaaggeerr's functions described in the following section. (You can
        refer to those in the KKEEYY window displayed with ppaaggeerr.)

     ffiillee mmaannaaggeerr
        When _t_c_b(1) is started with no argument (`tcb EEnntteerr') or a
        directory name (`tcb . EEnntteerr' etc.), it will work as a ffiillee
        mmaannaaggeerr.

        On the LLiinnuuxx version, --88 or --99 option may be used.  For example
        `tcb -8 (-9) tcb . EEnntteerr' will start with current directory
        argument on a 8th (or 9th) terminal.

        When started with no argument, _t_c_b(1) will save the access
        history's lists to _~_/_._t_c_b_/_h_i_s_t_o_r_y when terminated.  Refer to the
        EEXXIITT's section for details.

  22..  KKEEYY

  [ ^^HH ]

  _T_c_b(1) will display key functions defined in _t_c_b_r_c. ("(M)" is a mark
  of built-in macro definition defined in ``M-?'' of ``KEY'' in _t_c_b_r_c.)

  EEnntteerr on the ^^GG-line will only return to the previous mode.  Other
  line will return to the mode which has called KKEEYY and then execute the
  specified key definition.

  33..  FFiillee mmaannaaggeerr

  _T_c_b(1) will display following mmooddee--lliinnee at the bottom of the _t_c_b
  window.

     tcb.1 01/66 43% 2000 (groff) /home/user/sources/tcb-1.4a/doc/
     ~~~~~ ~~~~~ ~~  ~~~~ ~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     [[11]]    [[22]]  [[33]]  [[44]]   [[55]]                 [[66]]

     The columns denote the following items.

     [[11]] : access-name
     [[22]] : current-line / total-lines
     [[33]] : current-page / total-pages * 100
     [[44]] : display-size
     [[55]] : program-name
     [[66]] : previous-mode

  The keys described in the WWiinnddooww of the KKeeyy ffuunnccttiioonn's section can be
  used for window controls such as scrolling.

  Once _t_c_b(1) is started, pressing ^^JJ^^KK will bring up a ffiillee--sseelleeccttoorr
  for the current directory.  Pressing ^^JJ and then 00 ... 99 will change
  the current directory to the one specified by the left side of 0 ...
  9th ``/''.  For example, in the following directory:

  _/_h_o_m_e_/_u_s_e_r_/_s_o_u_r_c_e_s_/_t_c_b_-_1_._4_a_/_s_r_c_/,

  ^^JJ22 will change the current directory to

  _/_h_o_m_e_/_u_s_e_r_/.

  If ^^OO^^KK is pressed instead of ^^JJ22, it will change the current
  directory to the following parent directory:

  _/_h_o_m_e_/_u_s_e_r_/_s_o_u_r_c_e_s_/_t_c_b_-_1_._4_a_/.

  On the mmooddee--lliinnee, if the cursor is positioned at the end of filename
  which begins with ``/'', the above key stroke will change the current
  directory to the corresponding one in the file.  For example,
  `^^XXff/usr/local/lib/tcb/tcbrc EEnntteerr', and then ^^XX^^FF will display the
  following directory path in the mmooddee--lliinnee:

  _/_u_s_r_/_l_o_c_a_l_/_l_i_b_/_t_c_b_/_t_c_b_r_c.

  By hitting ^^JJ22, the current directory changes to the following:

  _/_u_s_r_/_l_o_c_a_l_/.

  33..11..  FFiillee--sseelleeccttoorr

  _T_c_b(1) will execute _l_s(1) and display the content of the current
  directory.  Once the cursor is on the desired line, its file means can
  be selected by the following keys.

     ^^MM (EEnntteerr)
        The line begins with ``-'' (e.g. "-rwxr-xr-x ...") denotes a
        regular-file.  By hitting this key, _t_c_b(1) will read its content
        into a buffer and display it.

        ``d'' (e.g. "drwxr-xr-x ...") denotes a directory.  This key
        stroke will change the current directory to that one.  _._._/
        denotes the parent directory.  For example, the current
        directory _/_t_m_p_/ will change to _/.  By choosing _._/ (or ^^JJ^^KK), the
        displayed content of the current directory will be renewed.

     ^^OO^^MM
        By selecting regular-file with this key, the content will be
        read up to the window size.  MMAANN and "(stdin)" mode which will
        be described later also display the buffer content in the same
        manner as this mode.

        Those modes use the same memory area.  Entering one mode will
        clear the content of the other.

     ^^[[^^MM
        This key will display the control characters under 0x20 and 0x7f
        in highlight. (e.g. 0x0d will be displayed by a highlighted
        character "M".)  It will convert the codes above 0x80 to a
        highlighted character "*".

     ^^JJbb or ^^JJ^^BB
        These keys will change the mode to the CCUUTT which will be
        described later.

  ^^GG will change the mode to the ffiillee--sseelleeccttoorr and ^^JJ^^JJ will change the
  current mode to the previous regular-file in all the above modes.
  ^^XX^^WW will save the content of the current buffer to the file
  _~_/_._t_c_b_/_w_._t_c_b_.

  If a regular-file has one of the following suffixes, _t_c_b(1) will
  execute the program defined in _t_c_b_r_c which will be described in the
  FFiillee's section.  The regular-file written in a ms-macro style such as
  manual pages will be formatted by _g_r_o_f_f(1) even if the file has no
  specific suffix.  The option of _g_r_o_f_f(1) will be set to ``GROFF'' that
  is defined in the source file _c_o_n_f_i_g_._s_h.

     ..ttaarr ..ttggzz ..llzzhh ..zziipp
        These archive files will be expanded into the memory and their
        contents will be read into a buffer as is.  Depending on the
        environment, _t_c_b(1) might fail to allocate the buffer.  If the
        buffer capacity is defined in _t_c_b_r_c, _t_c_b(1) will expand it only
        up to the defined buffer size which may not be enough for
        complete expansion.

        In the above instance _t_c_b(1) will display the message "NNoott
        eennoouugghh bbuuffffeerr". (The content of the files on the lower part of
        the list will be displayed as "_N_o _s_i_z_e".)

     ..ggzz ..ddvvii
        _T_c_b(1) will execute the other programs such as _g_z_i_p(1) and
        _d_v_i_2_t_t_y(1) to display plain texts.

     ..hhttmmll ..iinnffoo
        _T_c_b(1) will launch the other programs such as _l_y_n_x(1) and
        _i_n_f_o(1) but will not display the content of the file in the _t_c_b
        window.

  _T_c_b(1) provides modes that will be described in the following section.
  The previous mode or the previous filename displayed at the mmooddee--lliinnee
  [[66]] will be brought back by hitting ^^GG.  By pressing ^^JJ^^KK, it always
  functions as a ffiillee--sseelleeccttoorr.

  33..22..  FFGGRREEPP // EEGGRREEPP

  [ ^^SS / ^^JJ^^SS ]

  The string inputted at the mmooddee--lliinnee or selected from the list of
  search-strings will be searched by _f_g_r_e_p(1) or _e_g_r_e_p(1). (_f_g_r_e_p(1)
  will search the string as is without regular expression.)  The search
  result will be displayed in the list of matched strings and pressing
  EEnntteerr will take you to the specified line within the buffer.  While
  executing _f(_e)_g_r_e_p(1), any key will interrupt the execution and the
  message "IInntteerrrruupptteedd" will be displayed.

  The control characters under 0x20 can be inputted with ^^QQ. (eg. 0x08
  can be inputted with ^^QQ^^HH.)  You can input a new string with ^^UU key at
  the mmooddee--lliinnee.  As for the other editorial keys, refer to the CCoommmmaanndd--
  lliinnee of the KKeeyy ffuunnccttiioonn's section.

  33..33..  CCUUTT

  [ ^^JJcc or ^^JJ^^CC ]

  _T_c_b(1) will split the content of the current buffer at the lines that
  contain the string inputted at the mmooddee--lliinnee or selected from the list
  of search-strings and make a table of contents.

  In the ffiillee--sseelleeccttoorr, ^^JJbb or ^^JJ^^BB will split a regular-file before
  reading its content into the buffer. (^^JJcc or ^^JJ^^CC that means splitting
  output of _l_s(1) can't be executed in the ffiillee--sseelleeccttoorr.)

  The following regular expressions are used in the default setting for
  search-string that will be displayed by typing ^^JJ^^CC or ^^JJ^^BB. (Refer to
  the manual page of _e_g_r_e_p(1) to see other regular expressions.)

     [[00--99]]
        any single digit from 0 to 9

     ^^  beginning of line

     $$  end of line

     ..  any single character

     \\.. ``.'' character

     **  repeat zero or more times

     ++  repeat one or more times

  For example, the HHEELLPP splits the content of the file
  _/_u_s_r_/_l_o_c_a_l_/_l_i_b_/_t_c_b_/_H_E_L_P at the string "^  [0-9]^^HH[0-9]+\.".  The
  operation can be executed by typing following:

     `^^JJbb^  [0-9]^^QQ^^HH[0-9]+\.EEnntteerr'

  After reading the content into a buffer with ^^MM in the ffiillee--sseelleeccttoorr,
  type following:

     `^^JJcc^  [0-9]+\.EEnntteerr'

  The key `;;' or `::' will move the cursor to the previous or the next
  line.  `++', `**' will move to the specific line after search-string on
  the table of contents.

  If the content of the previous regular-file had been referred by the
  CCUUTT, hitting ^^JJ^^JJ will bring back the table of contents in order to
  differentiate the mode.

  33..44..  DDUU

  [ ^^JJdd or ^^JJ^^DD ]

  _T_c_b(1) will execute _d_u(1) at the SSHHEELLLL (virtual terminal described
  later) to display the content of the current directory and its sub
  directories. (Hit EEnntteerr key on the message which will be displayed
  when _d_u(1) exit.)

  ^^JJ^^DD will not execute _d_u(1) again but change the display back to the
  DDUU window.

  33..55..  LLOOCCAATTEE

  [ ^^JJll or ^^JJ^^LL ]

  _T_c_b(1) will execute _l_o_c_a_t_e(1) to search for the filename that contains
  the string inputted at the mmooddee--lliinnee.  For example, `.tgz EEnntteerr' will
  display all the filenames contained in the system which have the
  suffix ..ttggzz.  ^^JJ^^LL will not execute _l_o_c_a_t_e(1) again but change the
  display back to the LLOOCCAATTEE window.

  This function will not work immediately after the installation of the
  operating system.  Execute _u_p_d_a_t_e_d_b(1) (that is usually executed by
  _c_r_o_n(8)) or _l_o_c_a_t_e_._u_p_d_a_t_e_d_b(8) as a super user before using this
  function.

  33..66..  PPRROOGGRRAAMM

  [ ^^JJpp or ^^JJ^^PP ]

  _T_c_b(1) will launch the program inputted at the mmooddee--lliinnee or selected
  from the list of program names. (The content of the list can be
  defined in _t_c_b_r_c.)

  If the program name inputted with ^^JJpp doesn't exist in the list,
  _t_c_b(1) will change the mode to the SSHHEELLLL and execute the program.  If
  the string inputted at the SSHHEELLLL-prompt exists in the list, it will be
  launched in this mode.

  33..77..  MMAANN

  [ ^^JJmm or ^^JJ^^MM ]

  _T_c_b(1) will display the manual page inputted at the mmooddee--lliinnee or
  selected from the list of previously accessed manual pages.

  33..88..  FFIILLEE // DDIIRR

  [ ^^XXff or ^^XX^^FF / ^^XXdd or ^^XX^^DD ]

  _T_c_b(1) will read the content of the file inputted at the mmooddee--lliinnee or
  selected from the list of previously accessed files.  ^^RR will change
  the mode to the HHIISSTTOORRYY in this window.

  In the FFIILLEE list, the filename followed by "(program name)" denotes
  the program which was used by _t_c_b(1) for display.  The string used at
  the CCUUTT will be displayed within parentheses "".

  The file selected by ^^OO^^MM or ^^[[^^MM in the ffiillee--sseelleeccttoorr will be assumed
  as a temporary file and will not be saved to the FFIILLEE list.  Hitting
  ^^JJ^^JJ will not return to the window.

  33..99..  HHIISSTTOORRYY // CCOOMMMMAANNDD

  [ ^^RR / ^^JJ^^RR ]

  The program-names that have been executed at the SSHHEELLLL-prompt are
  saved to the string-list of HHIISSTTOORRYY and CCOOMMMMAANNDD.  The CCOOMMMMAANNDD list can
  be reffered by ^^JJ^^RR in any modes.

  The access history will be displayed by pressing ^^RR in the FFIILLEE, DDIIRR,
  MMAANN, LLOOCCAATTEE, FF(EE)GGRREEPP and CCUUTT.  The history of executed programs will
  be displayed in the other modes.

  A string will be saved in the order of execution in the HHIISSTTOORRYY list.
  The keys `^^JJ..', `^^JJ,,' and only the strings that have been inputted at
  the SSHHEELLLL-prompt via keyboard will be saved after sorting and
  elimination of overlap in the CCOOMMMMAANNDD list.

  33..1100..  CCPP // MMVV // RRMM // AARRCC

  [ ^^XXcc / ^^XXmm / ^^XXrr / ^^XX^^KKaa ] or [ ^^XX^^KKcc / ^^XX^^KKmm / ^^XX^^KKrr / ^^XX^^KKaa ]

  These modes can be executed in the ffiillee--sseelleeccttoorr or the DDUU.  In CCPP, MMVV
  and RRMM, a destination file (or operation at RRMM) can be inputted by
  marking filenames by ^^MM and then typing ^^XX^^MM.  _T_c_b(1) will execute
  _c_p(1), _m_v(1) and _r_m(1) with each argument.  _R_M will also delete any
  line at FFIILLEE, DDIIRR, MMAANN, EEGGRREEPP and CCOOMMMMAANNDD. (As _d_u(1) will not be
  executed again after RRMM in DDUU, selecting a deleted file will cause an
  error.)

  AARRCC will expand an archive file using _t_a_r(1), _l_h_a(1) and _u_n_z_i_p(1).
  For the files of unknown content, confirm the content of the archive
  file with ^^OO^^MM before specifying the destination of the expansion.
  For example, ^^OO^^MM will display the content of _t_c_b_-_1_._4_a_._t_a_r_._g_z as
  follows in the ffiillee--sseelleeccttoorr:

  "-rw-r--r-- user/users     500 Jan  1 00:00 1998 tcb-1.4a/Makefile"
  "-rw-r--r-- user/users    2500 Jan  1 00:00 1998 tcb-1.4a/README"
  "........"

  If `/tmp EEnntteerr' is given as an answer to the "Destination ?"
  (specifying destination file) question, the file will be expanded to
  the directory _/_t_m_p_/_t_c_b_-_1_._4_a_/. (If ``/tmp'' is not a directory, it will
  cause an error.)  ^^WW will display the previous directory-name on the
  line "Destination ?".

  AARRCC can only expand the specific files in the archive window.  In the
  above example, in the following archive window of _t_c_b_-_1_._4_a_._t_a_r_._g_z
  displayed with ^^MM at the ffiillee--sseelleeccttoorr,

  "-rw-r--r-       500 tcb-1.4a/Makefile"
  "-rw-r--r-      2500 tcb-1.4a/README"
  "........"

  after typing ^^XX^^KKaa in the window and marking the above two lines with
  ^^MM, typing `^^XX^^MM/tmp EEnntteerr' (an answer to "Destination ?") will expand
  them as follows:

  _/_t_m_p_/_t_c_b_-_1_._4_a_/_M_a_k_e_f_i_l_e
  _/_t_m_p_/_t_c_b_-_1_._4_a_/_R_E_A_D_M_E

  ^^XX^^YY will mark all filenames and ^^XX^^NN will clear all the marks.
  However, they will not work if the intended operation is in conflict
  with the file permissions. (e.g. a general user tries to delete a
  read-only file which belongs to the other user.)

  While executing _c_p(1) and others, the program sometimes waits for the
  process input due to a file permission.  If you have activated CCPP with
  ^^XXcc, type ^^GG and switch to the SSHHEELLLL with ^^[[ss and then specify the
  operation.

  `,,' or `..' will mark the current line and move cursor to the previous
  or the next line.  `<<' or `>>' can select the specific lines.  For
  example, if you want to delete filenames end with a character ``~''
  (ordinarily a backup file), switch to the RRMM and search for `~$' by
  EEGGRREEPP.  Type EEnntteerr to move cursor to the first line ending with ``~''.
  In this window, `>>' selects the desired line.

  The above functions will not work while the other programs are
  operating at the SSHHEELLLL-prompt.

  33..1111..  SSHHEELLLL

  [ ^^[[ss or ^^XXss or ^^JJ.. or ^^JJ,, or ^^JJww or ^^JJ^^WW ]

  By pressing ^^[[ss, the _t_c_b window will be switched to the virtual
  terminal of the rogin-_s_h_e_l_l or the _s_h_e_l_l defined in _t_c_b_r_c.  If the
  virtual terminal starts to behave erratically, you can restart the
  shell by typing ^^XXss.

  ^^JJ.. or ^^JJ,, will set the current directory of the SSHHEELLLL as the position
  of the ffiillee--sseelleeccttoorr. (^^JJ,, will execute `ls -l' at the SSHHEELLLL-prompt.)

  By pressing ^^JJww or ^^JJ^^WW and then EEnntteerr, the mmooddee--lliinnee [[11]] (access-
  name) or the content of the buffer will be shown.  ^^WW will restart
  this command at the SSHHEELLLL-prompt.

  If there is an ongoing program and input cannot be made at the prompt,
  the functions that use the SSHHEELLLL-prompt such as CCPP or MMVV etc. will not
  work.

  For example, after `man bash EEnntteerr' was made at the SSHHEELLLL-prompt, the
  prompt will not return until the end of output since the output from
  _m_a_n(1) was inputted to _t_c_b(1) via pipe.  The prompt will be back by
  moving to the end of the file with ^^[[>>.  At any mode other than the
  SSHHEELLLL, _t_c_b(1) will display the message "EExxiitt" (can be clear by ^^LL)
  when the SSHHEELLLL-prompt returns.

  When started with a file argument or a pipe at the SSHHEELLLL-prompt,
  _t_c_b(1) will display the content with access-name "file" or "(stdin)".
  (e.g. `tcb . EEnntteerr' will start the ffiillee--sseelleeccttoorr for the current
  directory.  Above `man bash EEnntteerr' will be "(stdin)", bacause the
  output will be inputted to _t_c_b(1) via a pipe by means of ``PAGER''
  environment variable.)

  In this function, the _s_h_e_l_l process-ID is used for the authentication
  of the regular-file or _s_o_c_k_e_t(2) used for switching to the window of
  "file" or "(stdin)".  Therefore, if you have executed _s_u(1) etc. at
  the SSHHEELLLL-prompt, the window will not be switched from that particular
  prompt.

  The programs such as editor and pager which changes the terminal
  settings will not function normally if they are not defined in the
  PPRROOGGRRAAMM list.  If you have accidentally activated those programs,
  _k_i_l_l(1) them after interruption by ^^CC or suspension by ^^ZZ.

  The commands inputted at the SSHHEELLLL-prompt will be given to the _s_h_e_l_l
  after edited by the keys described in the CCoommmmaanndd--lliinnee of the KKeeyy
  ffuunnccttiioonn's section.  However, on an interactive program such as
  _f_t_p(1), _t_c_b(1) will exchange the data per one character bases with the
  _s_h_e_l_l.  In those instances, you can use the keys described in the
  IInntteerraaccttiioonn of the KKeeyy ffuunnccttiioonn's section.

  In actuality, you can use the keys of the CCoommmmaanndd--lliinnee on the line
  begins with the string "ttccbb vv11..44aa:...". (i.e. the environment variable
  ``PS1''.)  The keys of the IInntteerraaccttiioonn can be used on the other lines.
  Therefore, once you execute a program at the SSHHEELLLL-prompt, the keys
  excluding the IInntteerraaccttiioonn can't be used until the prompt returns.

  Apart from ^^RR and ^^JJ^^RR, the program can be restarted by moving the
  cursor to the particular prompt line in the previously executed
  prompts and type EEnntteerr.

  33..1122..  LLIISSTT

  [ ^^II or TTaabb ]

  By typing ^^II while inputting a string at SSHHEELLLL-prompt or mmooddee--lliinnee,
  _t_c_b(1) will display a filename that contains the string.  If there are
  more than one corresponding files in the current directory, it will be
  indicated by beep sound.  When it happens, type ^^II again and you will
  get the list of the filenames.

  For example, if _t_c_._c and _t_c_b_._c are included in the directory, _t_c_b(1)
  will sound beep after typing `^^XXfftc', ^^II because there are more than
  one match.  By choosing either _t_c_._c or _t_c_b_._c from the list that will
  be displayed by typing ^^II again, the desired filename will be inserted
  to the cursor positon.

  At SSHHEELLLL, PPRROOGGRRAAMM and MMAANN, the first string will be assumed as a
  program name and searched through ``PATH'' environment variable
  (directory-list where executable files locate.)  However, if the
  string is followed by a space character, _t_c_b(1) will complement the
  filename on the current directory and pass it to the program.

  In the above example, if _t_c_b, _t_c_l_s_h and _t_c_s_h exist on ``PATH'', typing
  `tc', ^^II will display the list of these executable filenames.  On the
  other hand, ``tc'' will be considered as an executable file when you
  type ^^II after `tc '.  The filename will be given to ``tc'' after being
  complemented from the corrent directory.

  FFIILLEE or DDIIRR will not search for program names on ``PATH''.  DDIIRR
  complements directory names only.

  33..1133..  EEDDIITT

  If the mmooddee--lliinnee [[11]] (access-name) is a regular-file and the mmooddee--lliinnee
  [[55]] (program-name) is blank, _t_c_b(1) will launch the editor defined in
  _t_c_b_r_c.

  _T_c_b(1) will launch the editor to which the current line number ``N''
  will be given with ``+N'' option.  It is convenient to set the editor
  that has this option.  Default editor is _v_i(1).

  33..1144..  EERRRROORR

  [ ^^XX^^KKee ]

  When an error occurs especially when the program terminates abnormally
  as a child process, the message "IInnvvaalliidd aarrgguummeenntt" will be displayed.
  The standard error output from the child process will be saved to
  EERRRROORR.

  33..1155..  LLOOGG

  [ ^^XX^^KKll ]

  This mode will display SSHHEELLLL's log.

  33..1166..  EEXXIITT

  [ ^^XX^^CC or ^^[[^^[[ ]

  _T_c_b(1) maintains a file-list that contains information on the
  previously accessed files concerning the cursor position, total lines
  and the like.  If you start _t_c_b(1) with no argument and then terminate
  with EEXXIITT, you can use the file-list continually at the next
  execution. (EEXXIITT will save the file-list to _~_/_._t_c_b_/_h_i_s_t_o_r_y.)

  _T_c_b(1) will also save the content of EERRRROORR and LLOOGG to _~_/_._t_c_b_/_e_r_r_o_r and
  _~_/_._t_c_b_/_s_h_e_l_l, respectively.  When started with a directory argument or
  used as a ppaaggeerr, _t_c_b(1) will not access above files.

  44..  FFiillee

  _T_c_b(1) will read _~_/_._t_c_b_/_t_c_b_r_c and set environment when started.  If
  the file doesn't exist, _t_c_b(1) will read _t_c_b_r_c from
  _/_u_s_r_/_l_o_c_a_l_/_l_i_b_/_t_c_b_/.  If this file is newer than _~_/_._t_c_b_/_t_c_b_r_c, _t_c_b(1)
  will display the message "~~//..ttccbb//ttccbbrrcc iiggnnoorreedd".

  The following is the content defined in _t_c_b_r_c.

     ARC
        format  : ssuuffffiixx _a_r_c_h_i_v_e_r (option)
        example : .tar   tar      tvf

        The _a_r_c_h_i_v_e_r of _t_a_r(1), _l_h_a(1) and _u_n_z_i_p(1) will display the
        content of the archive file that has the ssuuffffiixx.  In the archive
        content window, the _a_r_c_h_i_v_e_r will display the content of the
        regular-file with the ssuuffffiixx as a plain text.

     FILE
        format  : ssuuffffiixx _p_r_o_g_r_a_m (option)
        example : .gz    gzip    -dc

        The _p_r_o_g_r_a_m will display the content of the regular-file with
        the ssuuffffiixx as a plain text.

     EXEC
        format  : ssuuffffiixx _p_r_o_g_r_a_m (option)
        example : .html  lynx

        The _p_r_o_g_r_a_m will be launched with argument of file that has the
        ssuuffffiixx.

     GREP
        format  : ssttrriinngg
        example : \/\*tcb\*\/

        The ssttrriinngg that will be used in EEGGRREEPP or CCUUTT.

     PROGRAM
        format  : _p_r_o_g_r_a_m
        example : dviout

        The _p_r_o_g_r_a_m that will be launched by PPRROOGGRRAAMM.

     EDITOR
        format  : _e_d_i_t_o_r
        example : vi

        The _e_d_i_t_o_r will be launched by EEDDIITT.

     BUFFER
        format  : ssiizzee
        example : 2048

        The maximun ssiizzee of the buffer (a unit is Kbytes) which will be
        allocated for a regular-file.

     CODE
        format  : ccooddee00 ccooddee11 ...
        example : 1     8     ...

        If a regular-file that has no above ssuuffffiixxeess contains a control
        character under 0x20 excluding the ones set in here, it will be
        assumed as a binary file.  _T_c_b(1) will execute _f_i_l_e(1) and
        display the code and the file-type. (If ccooddee00 is set to 0, this
        setting will be ignored.)

     SHELL
        format  : _s_h_e_l_l
        example : tcsh

        It will specify SSHHEELLLL as either _b_a_s_h(1) or _t_c_s_h(1).  You can't
        execute _t_c_b(1) unless you define this setting when neither
        _b_a_s_h(1) nor _t_c_s_h(1) is set in the environment variable
        ``SHELL''.

     HISTORY
        format  : lliinnee
        example : 500

        It determines the maximum lliinnee that will be saved to the HHIISSTTOORRYY
        list.  When the value of mmooddee--lliinnee [[22]] (current-line / total-
        lines) are equal to this line, the oldest line will be deleted.

     WAIT
        format  : wwaaiitt
        example : 10

        Built-in or keyboard macro will be executed at intervals of wwaaiitt
        (a unit is 10 msec).

     SCROLL
        format  : ffllaagg
        example : 1

        The ffllaagg for switching scroll-mode. (can be switched by ^^OOhh.)
        When the flag is set, _t_c_b window will scroll excluding the
        bottom line.

     LS
        format  : ffllaagg
        example : 1

        The ffllaagg for switching display-mode of ffiillee--sseelleeccttoorr. (can be
        switched by ^^OOll.)  When the flag is set, ffiillee--sseelleeccttoorr window
        will be displayed without extra space-character.  If you want to
        display more faster in the directory that contains many files,
        reset the flag.

     KEY
        It will customize keys described in the KKEEYY.

  55..  NNoottee

     Environment
        When you start _t_c_b(1) for the first time as a ffiillee mmaannaaggeerr, it
        will make working directory _~_/_._t_c_b_/ and _/_t_m_p_/_._t_c_b_/ (defined in
        _c_o_n_f_i_g_._s_h).

        If the same user tries to execute more than one ffiillee mmaannaaggeerr
        with no argument, _t_c_b(1) will exit with the message "AAllrreeaaddyy
        rruunnnniinngg".

        ``TCB'' environment variable will be utilized by _t_c_b(1) to
        determine whether the current terminal is SSHHEELLLL or not.  _T_c_b(1)
        can't be started as a ffiillee mmaannaaggeerr on the terminals where this
        variable is set.

        When ``TCBCHARSET'' environment variable is set to aasscciiii, _t_c_b(1)
        will be started with aasscciiii-mode.  This mode (can be switched by
        ^^OOaa) will display one-byte non-aasscciiii code as a highlighted hex
        number in angle brakets.

        When _t_c_b(1) is used as a ppaaggeerr, the output from the program such
        as _d_v_i_2_t_t_y(1) or _m_a_n(1) etc. can be displayed once you type
        `export PAGER=tcb EEnntteerr' on a terminal.  However, this ``PAGER''
        environment variable mustn't be changed at SSHHEELLLL.

     Mode stack
        Before entering a new mode, _t_c_b(1) will add the current mode on
        to the stack. (^^GG will return to the top of the stack.)

        These stack entries will be cleared when you select a directory
        in the ffiillee--sseelleeccttoorr or typing ^^JJ11 etc., and _t_c_b(1) will display
        the message "ttccbb vv11..44aa" at the mmooddee--lliinnee [[66]] (previous-mode).
        At the bottom of the stack, _t_c_b(1) will bring back the previous
        directory by typing ^^GG.  Before saving the stack content to
        _~_/_._t_c_b_/_h_i_s_t_o_r_y at EEXXIITT, _t_c_b(1) will also release the stack
        entries until the mmooddee--lliinnee [[11]] (access-name) becomes a regular-
        file or a directory or a manual page.

        When you resize the window on _x_t_e_r_m(1) etc., the content of
        stack will not be renewed.  Therefore, line continuation will
        not be displayed correctly in the window displayed by ^^GG.

        If you select a directory at DDUU, _t_c_b(1) will display the ffiillee--
        sseelleeccttoorr window.  If you then select a directory, the above
        stack entries will be cleared.  In this case, ^^JJ^^DD will bring
        back the DDUU window.

  66..  KKeeyy ffuunnccttiioonn

  The keys described in this section are preset in the program.

  66..11..  WWiinnddooww

  PPaaggeeDDoowwnn    : Move window one page down
  PPaaggeeUUpp      : Move window one page up
  RRiigghhtt--aarrrrooww : Move window one line down
  LLeefftt--aarrrrooww  : Move window one line up
  DDoowwnn--aarrrrooww  : Move Cursor one line down
  UUpp--aarrrrooww    : Move Cursor one line up
  ^^ZZ          : Suspend
  ^^[[^^[[        : Exit

  66..22..  CCoommmmaanndd--lliinnee

  BBaacckk ssppaaccee     : Delete the character just before the cursor
  ^^HH             : Delete the character just before the cursor
  ^^KK             : Kill from the cursor to the end of line
  ^^UU             : Kill from the cursor to the beginning of line
  ^^YY             : Reinsert the last stretch of killed text
  ^^DD             : Delete the character of cursor position
  ^^EE             : Move to the end of line
  ^^AA             : Move to the beginning of line
  ^^BB             : Move backward a character
  ^^FF             : Move forward a character
  ^^LL             : Redisplay the window
  ^^NN             : Move Cursor one line down
  ^^PP             : Move Cursor one line up
  ^^MM             : EEnntteerr
  ^^QQ             : Input control character
  ^^GG             : Return to the previous mode
  ^^SS             : FFGGRREEPP
  ^^RR             : HHIISSTTOORRYY
  ^^CC (SSHHEELLLL)     : Interrupt
  ^^WW (SSHHEELLLL)     : Redisplay the command ^^JJ^^WW or ^^JJww
  ^^WW (CCPP/MMVV/AARRCC) : Display previous directory name
  ^^II             : Complete filename
  TTaabb            : Complete filename
  PPaaggeeDDoowwnn       : Move window one page down
  PPaaggeeUUpp         : Move window one page up
  ^^VV             : Move window one page down
  ^^[[vv            : Move window one page up
  RRiigghhtt--aarrrrooww    : Move window one line down
  LLeefftt--aarrrrooww     : Move window one line up
  DDoowwnn--aarrrrooww     : Move Cursor one line down
  UUpp--aarrrrooww       : Move Cursor one line up
  ^^ZZ             : Suspend

  66..33..  IInntteerraaccttiioonn

  ^^\\          : Move window one page down
  ^^^^          : Move window one page up
  ^^CC          : Interrupt input
  ^^DD          : Terminate input
  ^^GG          : Escape SSHHEELLLL
  ^^HH          : Back space
  ^^MM          : EEnntteerr
  ^^ZZ          : Suspend

