home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c495 / watcm951.arj / CMDEDIT.HPK / CMDEDIT.TXT
Encoding:
Text File  |  1993-02-16  |  10.0 KB  |  253 lines

  1. DESCRIPTION
  2.  
  3. CMDEDIT (OS2EDIT) is a program that allows editing and retrieval of the
  4. command line, allows commands to be assigned to functions keys, and allows
  5. aliases for commands to be created
  6.  
  7. COMMAND LINE
  8.  
  9.         CMDEDIT [options] [aliasfile [cmdfile]] (DOS)
  10.         CMDEDIT -q [cmdfile]                    (DOS)
  11.         OS2EDIT                                 (OS/2 1.x)
  12.         OS22EDIT                                (OS/2 2.x)
  13.  
  14.         Options:
  15.  
  16.           -i    Go to insert mode at the start of each command.
  17.           -s    Make insert mode 'sticky' between commands. (overrides -i)
  18.           -e    Always save commands at the end of the buffer.
  19.                 Normally, duplicate commands are not stored in the buffer.
  20.           -a    Use the aliases regardless of the process requesting the string.
  21.                 Normally it tries to determine if COMMAND.COM is the requesting
  22.                 process, but the check does not work properly on some systems,
  23.                 or if a subsequent command processor has been invoked.
  24.           -f    Stop completing a file name when multiple choices exist. See
  25.                 descriptions of Tab and Shift-Tab keys for details.
  26.       -l    Complete file names in lower case
  27.           -mx   Character x will be used to separate multiple commands
  28.       -h    Directory commands (u,d,o,r) must be preceded with '#'
  29.       -\    Append '\' after directories, and ' ' after normal files
  30.           during filename completion
  31.  
  32.         Notes:
  33.  
  34.         - If the environment variable CMDEDIT (or OS2EDIT) is set, and
  35.           no command is given to CMDEDIT (OS2EDIT) the environment variable
  36.           will be used as the command line.
  37.  
  38.         - [cmdfile] may be used to save the command buffer if CMDEDIT is
  39.           unloaded then reloaded. For example:
  40.  
  41.               cmdedit -q cmd.fil
  42.               cmdedit alias.fil cmd.fil
  43.  
  44.           will use cmd.fil to save/restore the internal command buffer.
  45.           
  46.         Notes for OS/2:
  47.  
  48.         - OS2EDIT.DLL is also loaded and needs to be in a LIBPATH directory
  49.           (where you keep your other .DLL files)
  50.  
  51.         - You must remove the SET KEYS=ON statment from CONFIG.SYS
  52.       or change it to SET KEYS=OFF.
  53.  
  54.         - You may not pass the command line directly to OS2EDIT. You must
  55.           use the environment variable method to pass the command line.
  56.  
  57.     Notes for OS/2 2.0 and up.
  58.  
  59.     - OS22EDIT is not run directly. Instead, change CONFIG.SYS as follows
  60.  
  61.         SET OS2_SHELL=[drive][path]CMD.EXE ...
  62.       becomes
  63.         SET OS2_SHELL=[drive][path]OS22EDIT.EXE [drive][path]CMD.EXE ...
  64.  
  65.       In this case, you must set the OS2EDIT environment variable
  66.       in CONFIG.SYS, in order for it to be noticed by OS22EDIT.
  67.  
  68.     - either OS2EDIT or OS22EDIT may be used with OS/2 2.0
  69.  
  70.     - only OS22EDIT may be used with OS/2 2.1
  71.  
  72.  
  73. The default alias file name is
  74.  
  75.         none                                (DOS)
  76.         C:\ALIAS.OS2                        (OS/2)
  77.  
  78.  
  79. FORM OF THE ALIAS FILE
  80.  
  81. The alias file contains records of the following form
  82.  
  83. word  string             - When <word> appears as the first word on the
  84.                            command line, it will be substituted with
  85.                            <string> before being passed to DOS.
  86.  
  87. <Fn> string              - When <Fn> is hit, CMDEDIT behaves as if <string> were
  88.                            typed by you. It is inserted if you are in insert
  89.                            mode, overstrikes if not, etc..
  90.                            keys F1 thru F40 are supported.
  91.  
  92. <Fn> !string             - As above, but an <ENTER> is generated
  93.                            following string.
  94.  
  95. Only keys F1 through F10 on the keyboard are actually used.  For F11 thru
  96. F20, use the shift key, for F21 to F30 use Ctrl key and for F31 to F40 use
  97. the Alt key.
  98.  
  99. Within the replacement string, the symbols %1 %2 ...  %9 are replaceable by
  100. parameters.  When the alias is invoked, each blank delimited word following
  101. the alias word is considered to be a parameter to the alias.  Parameters
  102. which have no corresponding %n in the alias are appended to the end of the
  103. command.  For example, if
  104.  
  105.         printps myfile lpt1
  106.  
  107. is typed, and the alias
  108.  
  109.         printps copy preamble.ps+%1.c+eoj.ps
  110.  
  111. is present in the alias list, the resulting DOS command would be
  112.  
  113.         copy preamble.ps+myfile.c+eoj.ps lpt1
  114.  
  115. A symbol such as %name% within an alias will be replaced with the corresponding
  116. DOS or OS/2 environment variable name. For example, the alias
  117.  
  118.         addpath      set path=%path%;%1
  119.  
  120. will cause another directory to be added to your path when used.
  121.  
  122. Aliases are substituted recursively. For example, if the aliases
  123.  
  124.         rn   rename %1 %2
  125.         bk   rn %1.c %1.bak
  126.  
  127. are present, typing
  128.  
  129.         bk foo
  130.  
  131. is equivalent to typing
  132.  
  133.         rename foo.c foo.bak
  134.  
  135. Recursive definitions are handled as well. The alias
  136.  
  137.         dir     dir *.c
  138.  
  139. is perfectly alright, although somewhat limited in its usefulness.
  140. EDITING FEATURES
  141.  
  142. Whenever a command is executed, CMDEDIT will save the command in a buffer for
  143. future recall and editing.  When the buffer becomes full, the oldest command is
  144. discarded.  CMDEDIT will not save a second copy of a command that is already
  145. present in the buffer.
  146.  
  147. Multiple commands
  148.  
  149. !   (or as set by -m)         Separates multiple commands on a line.
  150.                               A real exclamation point must be entered as !!.
  151.  
  152. Command Retrieval
  153.  
  154. Key               Alternate   Meaning
  155.  
  156. Cursor-Up                     retrieve previous command from the buffer
  157. Cursor-Down                   retrieve next command from the buffer
  158. Ctrl-Cursor-Up    Alt-E       retrieve first command from buffer
  159. Ctrl-Cursor-Down  Alt-B       retrieve last command from buffer
  160. Ctrl-Delete       Alt-X       delete the current command from the buffer
  161. Page-Down                     save the unentered command line in the buffer
  162. Alt-C                         list all commands in the buffer
  163. Alt-A                         list all current aliases
  164. Ctrl-Tab          Alt-N       retrieve next command that begins as ... see below
  165. Alt-Tab           Alt-P       retrieve previous command that begins as ...
  166. Ctrl-Insert       Alt-Z       retrieve accidentally erased line
  167.  
  168. The Alt-Tab and Ctrl-Tab commands are used by typing the beginning of a command
  169. which is in the buffer then pressing the key.  The entire command will then
  170. appear on the command line.  You can press Alt-Tab again to see other commands
  171. starting with that prefix.
  172.  
  173. Cursor movement
  174.  
  175. Cursor-Left                   move left on command line
  176. Cursor-Right                  move right on command line
  177. Home                          move to beginning of line
  178. End                           move to end of line
  179. Ctrl-Cursor-Left              move left word
  180. Ctrl-Cursor-Right             move right word
  181.  
  182. Line editing
  183.  
  184. Insert                        toggle in and out of insert mode
  185. Delete                        delete character under cursor
  186. Ctrl-Delete                   delete to end of word
  187. Backspace                     delete character to left of cursor
  188. Ctrl-Backspace                delete to beginning of word
  189. Escape                        delete input line and leave insert mode
  190. Ctrl-Home                     erase to beginning of line
  191. Ctrl-End                      erase to end of line
  192. Alt-H                      toggle the -h option interactively
  193.  
  194. Retrieving screen items
  195.  
  196. Alt-Cursor-Up     Alt-U       move a cursor up the screen
  197. Alt-Cursor-Down   Alt-D       move a cursor down the screen
  198. Alt-Cursor-Left   Alt-L       move a cursor left on the screen
  199. Alt-Cursor-Right  Alt-R       move a cursor right on the screen
  200. Alt-Home          Alt-0       move screen cursor to column 0
  201. Alt-End           Alt-2       retrieve two lines from screen
  202.  
  203. This is useful for changing your path.  Type path, then retrieve it from
  204. the screen, edit it into a command and press Enter.  You can also type a
  205. batch file, then execute certain commands from it using this capability.
  206.  
  207. File name completion
  208.  
  209. Tab                           Complete file name
  210. Shift-Tab                  /  List choices if -f option in effect.
  211.                            \  List previous file name if -f not in effect.
  212.  
  213. These keys are used by typing the first part of a filename and then
  214. pressing Tab.  For example, typing edit my<TAB> will expand to edit
  215. MYFILE.C if the file MYFILE.C is the first file starting with 'MY' in the
  216. current directory.  If Tab is pressed before the first space on the line,
  217. the path is searched for a matching command.  For example, typeing
  218. cmde<TAB> might expand to c:\lang\bin\CMDEDIT.EXE.  Subsequent TABS
  219. will list the next file matching the pattern.  Shift-Tab will back up one
  220. file name.  With -f in effect, the file name is only completed to a point
  221. where a choice must be made, and Shift-Tab will list those choices.  More
  222. characters may then by typed to differentiate between the choices and Tab
  223. hit again.  Also the environment variable CMDMATCH controls which file
  224. extensions are to be matched.  For example, set CMDMATCH=.C.H.ASM means
  225. only match files of type .C, .H and .ASM.  set CMDMATCH=~.OBJ.EXE means
  226. match all files except those of type
  227. .OBJ and .EXE.
  228.  
  229. DIRECTORY COMMANDS
  230.  
  231. I hate typing the '\' character.  It's in an awkward spot on the keyboard.
  232. This fact prompted me to put some support into CMDEDIT to change the
  233. current working directory without typing '\'.  I also like to change my
  234. current working directory and drive as an atomic operation.  In the
  235. directory commands, the following substitutions are made in a path.
  236.  
  237.     /   becomes \
  238.     ' ' becomes \
  239.     -   becomes ..\
  240.  
  241. For example, "--codegen 8086 c" and "--codegen/8086/c" both become
  242. "..\..\codegen\8086\c".
  243.  
  244. Commands
  245.  
  246.         d [d:]path             Set current drive to d and directory to path
  247.         o [d:]path             The "over" command. Equivalent to #d [d:]..\path
  248.         u [n]                  Go up n levels in the tree
  249.         r                      Return to the previous drive and directory
  250.  
  251. You can alias these commands as well. I have aliases for 'd', 'o', 'u' and
  252. 'r' in my alias file.
  253.