Commando version 1.0
Copyright (c) Brent McPherson 1988, 1989
Commando is a Shareware TSR utility that extends the DOS command line editing
environment. It is designed to be relatively small, powerful,
and user configurable. Commando was programmed in WATCOM C (small model).
These are the main features of Commando:
1. Ability to recall and edit previous commands.
2. Separate buffers for DOS and other applications such as DEBUG.
3. Filename completion and wildcard expansion on the command line.
4. List matching filenames.
5. Search facility for recalling previous commands.
6. Multiple commands per command line using a separator.
7. Function key binding.
8. Aliases with optional parameter substitution and multiple commands
10. Ability to define new aliases after startup.
11. Fully configurable along with many other features.
Commando [options] [alias_file]
type "Commando ?" to see the options and default settings.
ex. "Commando /s /m /t=3 /b=2k alias.def"
Produces the following configuration:
- operate silently
- copy recalled commands to end of buffer
- dont save commands of length 3 characters or less
- use a 2K DOS buffer
- read alias definitions from file alias.def
START IN INSERT /i
Commando will always start in insert mode. The default is
Turn off warning bell.
COMMAND WRAP /w
This causes the command recall buffer to act like
a circular list. The default is a linear list.
COPY LAST COMMAND /m
Any command that is recalled and executed will become the
last command in the recall buffer (if it is not already there).
The default is not to place re-executed commands at the end of
Commando will not save commands <= throwaway length.
Can prevent small commands such as "dir" from cluttering
the command recall buffer.
BUFFER SIZE /b=[k] (default 1024 bytes)
Used to configure the size of the command recall buffer.
ALT BUFFER SIZE /a=[k] (default 256 bytes)
Used to configure the size of the application recall buffer.
EXTRA MEMORY /e=[k] (default 128 bytes)
Specifies the amount of memory Commando reserves for adding
new aliases with the "_alias" directive.
COMMAND SEPARATOR /c= (default '!')
Specifies the character to separate multiple commands on the editing
line. The default is '!'. Note that the separator character can be
generated by typing two in a row. (ex. "!!" generates a single '!')
Causes Commando to be installed, even if a version is already resident.
CURSOR_LEFT - move left
CURSOR_RIGHT - move right
CTRL CURSOR_LEFT - move left 1 word
CTRL CURSOR_RIGHT - move right 1 word
HOME - move to start of line
END - move to end of line
INS - toggles between insert and overwrite mode
DEL - delete character
BACKSPACE - delete character to left of cursor
ESC - delete line
CTRL END - delete to end of line
F3 or CTRL L - delete word left
F4 or CTRL R - delete word right
TAB - expand filenames. Very useful!
Commando will attempt to complete the path and filename
of the word immediately before the cursor.
If there are wildcards ('*' or '?') in the
word before the cursor then all matching filenames
will be placed on the command line.
SHIFT TAB or CTRL D - List matching filenames. If you are typing a command
and have typed a partial pathname executing this
function will list all matching files and display a
new command prompt after the list.
! - command separator. Very useful!
Can be used to type multiple commands on a command
line. (ex. "cc main.c ! dir *.err")
Note: This may be changed (see /c option)
_alias - used to define aliases after Commando is installed.
see section below on adding aliases.
(Note: Use alt-keypad sequences to generate extended characters)
Recall buffer commands:
CURSOR_UP - retrieve previous command
CURSOR_DOWN - retrieve next command
PAGE_UP - retrieve first command
PAGE_DOWN - retrieve last command
F1 or CTRL F - search for last matching command. Very Useful!
Searches for the last command that starts with the
character sequence before the cursor. Can be
used to scroll through matching commands.
(ex. "abc" will recall the last command
beginning with "abc")
F2 or CTRL A - abort command. This saves the command into the
recall buffer without executing it.
(Useful for situations when you've typed a long
command but have to issue another command first.
You simply abort the command and recall it later.)
Alias definition file:
An alias file is a file of definitions used by Commando to bind function keys
or cause text substitutions to occur.
sample alias file:
----------- cut here ------------
some text to insert
o cd ..\%1
u cd ..
files dir *.c ! dir *.h
ld cd %1 ! dir %2
hi echo hello!!
cc wcc %1.c /w3 /ox %2 %3
------------ cut here -----------
The alias file contains definitions of the following form:
1. word string - when "word" appears as the first word on the
line, it will be substituted with "string"
before being passed to dos.
2. word string containing one or more occurrences of %n (n=0..9)
- this is the similar to dos parameter substitution.
Each occurrence of "%n" in "string"
is replaced with its corresponding word
on the input line.
(ex. using the example file above, "o test" would
cause the command cd ..\test to be passed to dos)
Note: use "%%" to generate a '%' character
3. string - when is hit, Commando behaves as if "string"
were typed. may be any of the following:
function keys to
alt function keys to
ctrl function keys to
shift function keys to
3. !string - as previous, but a is generated
Commando also supports definition of new aliases after installation.
This is accomplished using the "_alias" directive. The amount of
aliases that may be defined this way is limited to the amount of extra
memory reserved at startup. (see /e option)
The alias format is exactly the same as the file format described above.
Examples: (as typed at command prompt)
"_alias !cd \user\work\games"
"_alias mov copy %1 a:\backup\%1"
Note: typing "_alias" will list all the current aliases