This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/binw/cmdedit.txt

258 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

DESCRIPTION
CMDEDIT (OS2EDIT) is a program that allows editing and retrieval of the
command line, allows commands to be assigned to functions keys, and allows
aliases for commands to be created
COMMAND LINE
CMDEDIT [options] [aliasfile [cmdfile]] (DOS)
CMDEDIT -q [cmdfile] (DOS)
OS2EDIT (OS/2 1.x)
OS22EDIT (OS/2 2.x)
Options:
-i Go to insert mode at the start of each command.
-s Make insert mode 'sticky' between commands. (overrides -i)
-e Always save commands at the end of the buffer.
Normally, duplicate commands are not stored in the buffer.
-a Use the aliases regardless of the process requesting the string.
Normally it tries to determine if COMMAND.COM is the requesting
process, but the check does not work properly on some systems,
or if a subsequent command processor has been invoked.
-f Stop completing a file name when multiple choices exist. See
descriptions of Tab and Shift-Tab keys for details.
-l Complete file names in lower case
-mx Character x will be used to separate multiple commands
-h Directory commands (u,d,o,r) must be preceded with '#'
-\ Append '\' after directories, and ' ' after normal files
during filename completion
Notes:
- If the environment variable CMDEDIT (or OS2EDIT) is set, and
no command is given to CMDEDIT (OS2EDIT) the environment variable
will be used as the command line.
- [cmdfile] may be used to save the command buffer if CMDEDIT is
unloaded then reloaded. For example:
cmdedit -q cmd.fil
cmdedit alias.fil cmd.fil
will use cmd.fil to save/restore the internal command buffer.
Notes for OS/2 1.x:
- OS2EDIT.DLL is also loaded and needs to be in a LIBPATH directory
(where you keep your other .DLL files)
- You must remove the SET KEYS=ON statment from CONFIG.SYS
or change it to SET KEYS=OFF.
- You may not pass the command line directly to OS2EDIT. You must
use the environment variable method to pass the command line.
Notes for OS/2 2.x.
- OS22EDIT is not run directly. Instead, change CONFIG.SYS as follows
SET OS2_SHELL=[drive][path]CMD.EXE ...
becomes
SET OS2_SHELL=[drive][path]OS22EDIT.EXE [drive][path]CMD.EXE ...
In this case, you must set the OS2EDIT environment variable
in CONFIG.SYS, in order for it to be noticed by OS22EDIT.
- Only environment variables set in CONFIG.SYS are available to
OS22EDIT.
- You may not pass the command line directly to OS22EDIT. You must
use the environment variable method to pass the command line.
This environment variable must be set in CONFIG.SYS.
- OS2EDIT.DLL is not needed
The default alias file name is
none (DOS)
C:\ALIAS.OS2 (OS/2)
FORM OF THE ALIAS FILE
The alias file contains records of the following form
word string - When <word> appears as the first word on the
command line, it will be substituted with
<string> before being passed to DOS.
<Fn> string - When <Fn> is hit, CMDEDIT behaves as if <string> were
typed by you. It is inserted if you are in insert
mode, overstrikes if not, etc..
keys F1 thru F40 are supported.
<Fn> !string - As above, but an <ENTER> is generated
following string.
Only keys F1 through F10 on the keyboard are actually used. For F11 thru
F20, use the shift key, for F21 to F30 use Ctrl key and for F31 to F40 use
the Alt key.
Within the replacement string, the symbols %1 %2 ... %9 are replaceable by
parameters. When the alias is invoked, each blank delimited word following
the alias word is considered to be a parameter to the alias. Parameters
which have no corresponding %n in the alias are appended to the end of the
command. For example, if
printps myfile lpt1
is typed, and the alias
printps copy preamble.ps+%1.c+eoj.ps
is present in the alias list, the resulting DOS command would be
copy preamble.ps+myfile.c+eoj.ps lpt1
A symbol such as %name% within an alias will be replaced with the corresponding
DOS or OS/2 environment variable name. For example, the alias
addpath set path=%path%;%1
will cause another directory to be added to your path when used.
Aliases are substituted recursively. For example, if the aliases
rn rename %1 %2
bk rn %1.c %1.bak
are present, typing
bk foo
is equivalent to typing
rename foo.c foo.bak
Recursive definitions are handled as well. The alias
dir dir *.c
is perfectly alright, although somewhat limited in its usefulness.
EDITING FEATURES
Whenever a command is executed, CMDEDIT will save the command in a buffer for
future recall and editing. When the buffer becomes full, the oldest command is
discarded. CMDEDIT will not save a second copy of a command that is already
present in the buffer.
Multiple commands
! (or as set by -m) Separates multiple commands on a line.
A real exclamation point must be entered as !!.
Command Retrieval
Key Alternate Meaning
Cursor-Up retrieve previous command from the buffer
Cursor-Down retrieve next command from the buffer
Ctrl-Cursor-Up Alt-E retrieve first command from buffer
Ctrl-Cursor-Down Alt-B retrieve last command from buffer
Ctrl-Delete Alt-X delete the current command from the buffer
Page-Down save the unentered command line in the buffer
Alt-C list all commands in the buffer
Alt-A list all current aliases
Ctrl-Tab Alt-N retrieve next command that begins as ... see below
Alt-Tab Alt-P retrieve previous command that begins as ...
Ctrl-Insert Alt-Z retrieve accidentally erased line
The Alt-Tab and Ctrl-Tab commands are used by typing the beginning of a command
which is in the buffer then pressing the key. The entire command will then
appear on the command line. You can press Alt-Tab again to see other commands
starting with that prefix.
Cursor movement
Cursor-Left move left on command line
Cursor-Right move right on command line
Home move to beginning of line
End move to end of line
Ctrl-Cursor-Left move left word
Ctrl-Cursor-Right move right word
Line editing
Insert toggle in and out of insert mode
Delete delete character under cursor
Ctrl-Delete delete to end of word
Backspace delete character to left of cursor
Ctrl-Backspace delete to beginning of word
Escape delete input line and leave insert mode
Ctrl-Home erase to beginning of line
Ctrl-End erase to end of line
Alt-H toggle the -h option interactively
Retrieving screen items
Alt-Cursor-Up Alt-U move a cursor up the screen
Alt-Cursor-Down Alt-D move a cursor down the screen
Alt-Cursor-Left Alt-L move a cursor left on the screen
Alt-Cursor-Right Alt-R move a cursor right on the screen
Alt-Home Alt-0 move screen cursor to column 0
Alt-End Alt-2 retrieve two lines from screen
This is useful for changing your path. Type path, then retrieve it from
the screen, edit it into a command and press Enter. You can also type a
batch file, then execute certain commands from it using this capability.
File name completion
Tab Complete file name
Shift-Tab / List choices if -f option in effect.
\ List previous file name if -f not in effect.
These keys are used by typing the first part of a filename and then
pressing Tab. For example, typing edit my<TAB> will expand to edit
MYFILE.C if the file MYFILE.C is the first file starting with 'MY' in the
current directory. If Tab is pressed before the first space on the line,
the path is searched for a matching command. For example, typeing
cmde<TAB> might expand to c:\lang\bin\CMDEDIT.EXE. Subsequent TABS
will list the next file matching the pattern. Shift-Tab will back up one
file name. With -f in effect, the file name is only completed to a point
where a choice must be made, and Shift-Tab will list those choices. More
characters may then by typed to differentiate between the choices and Tab
hit again. Also the environment variable CMDMATCH controls which file
extensions are to be matched. For example, set CMDMATCH=.C.H.ASM means
only match files of type .C, .H and .ASM. set CMDMATCH=~.OBJ.EXE means
match all files except those of type
.OBJ and .EXE.
DIRECTORY COMMANDS
I hate typing the '\' character. It's in an awkward spot on the keyboard.
This fact prompted me to put some support into CMDEDIT to change the
current working directory without typing '\'. I also like to change my
current working directory and drive as an atomic operation. In the
directory commands, the following substitutions are made in a path.
/ becomes \
' ' becomes \
- becomes ..\
For example, "--codegen 8086 c" and "--codegen/8086/c" both become
"..\..\codegen\8086\c".
Commands
d [d:]path Set current drive to d and directory to path
o [d:]path The "over" command. Equivalent to #d [d:]..\path
u [n] Go up n levels in the tree
r Return to the previous drive and directory
You can alias these commands as well. I have aliases for 'd', 'o', 'u' and
'r' in my alias file.