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/eddat/cmd.hlp

576 lines
21 KiB
Plaintext

Entering Commands:
==================
The command window is entered by pressing ':'. Commands
may be up to 768 bytes in length; the command window scrolls.
The following keys are recognized while typing a command:
CTRL_V - insert next keystroke directly.
CTRL_Q - same as CTRL_V
CTRL_O - insert current command after current line in file
ALT_O - insert current command before current line in file
CTRL_D - add the current "dot buffer" to the command string;
this is useful in conjunction with "memorize mode" ("m.").
Once a sequence has been memorized, then this can be
used to make a map command (eg :map CTRL_A <press CTRL_D>)
ALT_L - adds current line in the file, from the current column to the
end of the line, to the command string
CTRL_E - adds current space delimited word in file to command string
CTRL_L - adds current line in file to command string
CTRL_R - adds currently selected column range to command string
CTRL_W - adds current word in file to command string
TAB - try to file name complete on the current string.
The first match is completed, and a window with possible
choices is displayed. Subsequent presses of TAB will
scroll forward through the list of possible matches, and
pressing SHIFT_TAB will scroll backwards through the
list of possible matches. Cursor keys may also be used
ALT_TAB - command completion. Looks backwards through history for
first command starting with what is entered. Subsequent
presses of ALT_TAB get the 2nd last command, and so on.
CTRL_INS- restores last thing typed in the command window (one
level undo).
UP - scroll forwards through command history
DOWN - scroll backwards through command history
RIGHT - move cursor right through command
LEFT - move cursor left through command
CTRL_END- delete to end of command line
END - move to end of command line
HOME - move to start of command line
INSERT - toggle text insertion/overstrike mode
DELETE - delete character
ENTER - process current command
ESC - cancel current command
Commands
========
Some commands take an address range and/or an address; the following
characters have special meaning in an address:
. - current line
$ - last line
% - short for the pair of addresses 1,$
'a - line with mark a set
/regexp/ - search forward for regular expression regexp. the trailing '/'
is only needed if you want to have something following regexp.
if regexp is not specified, then the last search string is used.
?regexp? - like /regexp/, only searches backwards
+ - add next value
- - subtract next value
(if + or - are the first character, then they are assumed to operate
on the current line number, e.g. specifying +1 takes you forward one
line in the file)
Ranges are specified as two addresses n1,n2; eg:
1,5
'a,.
'z+5,$-10
/foo/+5,/bar/-1
Strings are specified either by themselves (if they contain no white space),
or as /string/, if there are spaces. To include a '/' in a string, escape
it (ie, use '\/' instead of '/')
The part of each command surrounded by square brackets must be typed;
the rest is optional.
(range) [>]
- shift specified range to the right "ShiftWidth" spaces.
(range) [<]
- shift specified range to the left "ShiftWidth" spaces.
(range) [!] (cmd)
- if range is specified, then the lines are run through the specified
dos command (the command must take input from standard in and put
its output to standard out) and replaces the lines with the output
of the the dos command.
If no range is specified, then the dos command (cmd) is run.
The global variable %(Sysrc) contains the return code
from the last system command, and %(Syserr) contains
the errno value.
[ab]brev (short) (long)
- create an abbreviation of (short) for (long). If (short)
is typed as a word in insert mode, it is expanded to (long).
See unabbrev.
[al]ias (name) (what)
- create an alias of (what) for (name). This is recognized
on the command line. See unalias.
(addr) [a]ppend
- append lines of text after line '.'. append is terminated by
including a line with nothing but a '.' in it.
Valid in EX mode only (source scripts or 'Q' from command mode)
[cascade]
- cascade all windows
[cd] (dir)
- change to directory (dir). If (dir) is not specified, the
current directory is displayed. (dir) may contain a drive
along with a path.
(range) [c]hange (!)
- delete the lane range, and replace with input text lines.
The input of text is terminated by including a line with
nothing by a '.' in it.
Valid in EX mode only (source scripts or 'Q' from command mode)
[comp]ile (-aA) (script) (compname)
- compile the script (script). If -a is specified, then all
local variables are translated at compile time (rather
than at run time) - this is useful for the startup script.
if -A is specified, all variables (both local and global)
are translated at compile time. The file will be compiled
into a file with the extension ._vi., unless (compname)
is specified. Also see "starting" and "script" help files
for more information.
[com]press
- insert tabs into file to replace leading spaces
(range) [co]py (addr)
- copy the specified range of lines after the line number (addr)
[da]te
- display current date and time
(range) [d]elete (buffer)
- delete line range. If a buffer ('1'-'9', or 'a'-'z')
is specified, the text is deleted into it, otherwise the
text is deleted into the active buffer.
[echo] (line) /msg/
- echos the message /msg/ on line (line) of the message window.
if (line) is coded as "off", then all message window data
is supressed (except for echo commands). "on" turns messages
back on.
[e]dit(!) (file1 (file2 file3...))
- open a new window for file. If a file already is
being edited, then control is transferred to the window for that
file. If no files are specified, then a window containing
a list of files in the current directory is opened, from
which a file may be selected. If (!) is used, then the current
file being edited is discarded and is replaced.
DOS wildcards may be specified in the file names.
[egr]ep "regexp" (file)
- searches for regular expression in the specified wild card
(file). (if (file) is not specified, it defaults to *.c).
When all matches are found, a selection window is presented
with the files that contained regexp. If you are not
using regular expressions, fgrep is much faster.
[eval] <expr>
- evaluates given expression
[execute] <str>
- execute the string <str> (acts as if <str> was typed at
the keyboard). The string that may be added has the same
syntax as the "map" command. See keyadd for a delayed addition of
keystrokes.
[fgr]ep (-c) (-u) "string" (file)
- searches for string in the specified wild card (file). (if
(file) is not specified, it defaults to *.c). Search is
case insensitive, unless -c is specified, in which case
the search is case sensitve. -u uses the CaseIgnore setting
to determine whether or not to be case sensitive in the search
When all matches are found, a selection window is presented
with the files that contained string.
[f]iles
- open a window with a list of all files currently being edited;
a file may be selected from the list
in EX mode, displays the current file status (like ^G)
(range) [g]lobal(!) /regexp/ (cmd)
- for each line with the regular expresson regexp, the command
(cmd) is executed. (cmd) may contain replacement expressions,
if g! is specified, then the command is executed for each line
NOT containing the regular expression.
see substitute for more information.
[help] <topic>
- brings up help for a specified topic. Topics are:
[com]mandline - all command line commands
[keys] - what different keys do
[reg]ularexpressions - how to use regular expressions
[scr]ipts - editor script commands
[start]ing - starting the editor
(addr) [i]nsert (!)
- insert text after the specified line number. The input of
text is terminated by including a line with nothing by a '.'
in it.
Valid in EX mode only (source scripts or 'Q' from command mode)
(range) [j]oin
- join the specified line range together onto a single line.
[keya]dd data
- adds a set of keystrokes to the key buffer, just as if they
were typed by the user. This is useful in a script, for
allowing keystrokes to be executed after the script is exited.
This prevents re-entrance of a script that is hooking
keys in input mode, for example.
Keys are processed in FIFO order.
The string that may be added has the same
syntax as the "map" command.
(range) [l]ist
- list the specified line range
Valid in EX mode only (source scripts or 'Q' from command mode)
[load] (script)
- loads a script into memory for the life of the edit session.
This allows for much faster access to the script, since the
data structures for the script to not have to be built
every time the script is invoked. This is especially important
for hook scripts. (see "scripts" help for more information).
[map](!) (key) (keysequence)
- tells the editor to run the keys (keysequence) whenever (key)
is pressed in command mode. (key) may be one of many special
tokens, e.g. CTRL_A, ALT_TAB etc.
if ! is specified, then the mapping is for insert mode.
Along with normal
ascii characters, the following control characters are allowed:
\h - if this follows a ':' (start command line), then the
command line is not added to the command history, e.g.:
map CTRL_T :\hdate\n
pressing CTRL_T to display the current date,
but it will not be added to the history.
\e - escape
\n - newline (enter)
\x - if it is the first character in the sequence, then the
opening of the command window is suppressed for the life
of the sequence. This prevents the "flashing" of the
command window on the screen if a command line command
is used.
\< - starts a key token. the string between the first <
and a closing > is translated into the appropriate key,e.g.:
map CTRL_W :fgrep \<CTRL_W>\n
press CTRL_W will execute an fgrep command, grabbing the
current word.
Recursion of maps does not occur, so map! a a causes
an "a" to appear when "a" is typed in insert mode.
See unmap.
[mapbase](!) (key) (keysequence)
- works exactly the same as the map command, all keys in the
keysequence work as their base functionality (mappings are
ignored)
(addr) [ma]rk (m)
- set mark (m) at line (addr)
[match] /s1/s2/
- Set what is matched by the '%' command. Defaults are "{","}"
and "(",")". For example, by performing a "%" on the first
'(' in the line:
if( (i=fred(x)) ) return;
moves the cursor to the last ')' in the line.
This command allows you to extend what is matched to
general regular expressions strings.
s1 is the regular expression that opens a match, s2 is
the regular expression that closes a match.
Note that in the matching regular expressions, "magic"
is automatically set (ie, special characters automatically
have their meaning).
[max]imize
- maximizes the current window
[min]imize
- minimizes the current window
(range) [m]ove (addr)
- delete the specified line range and place after line (addr)
[movew]in
- enter window move mode. The cursor keys may be used to move the
current file window.
[n]ext
- move to next file being edited.
[o]pen <file>
- open a new window on specified file. If no file is specified,
then a new window is opened on the current file. These new
windows are different views on the same file.
[p]rev
- move to the previous file being edited.
(addr) [pu]t (buff)
- put the specified buffer (buff) (either numbered or named) after
the specified line.
[q]uit(!)
- exit current file. If it has been modified, ! must be specified.
[quita]ll
- exits the editor if no files have been modified
(line) [r]ead
- read text from file (filename) after line specified by (line).
If (line) is not specified, the current line is assumed.
Line 0 may be specified in order to read a file
in before the first line of the file being edited.
If (filename) is not specified, then a window containing
a list of files in the current directory is opened, from
which a file may be selected.
[res]ize
- enter window resize mode. The cursor keys may be used to resize
the current file window:
UP - move top border up
DOWN - move top border down
LEFT - move right border left
RIGHT - move right border right
SHIFT_UP - move bottom border up
SHIFT_DOWN - move bottom border down
SHIFT_LEFT - move left border left
SHIFT_RIGHT - move left border right
[se]t (variable) (value)
- certain variables within the editor are modifiable after it is
running. (Value) is assigned to (variable). See the
"settings" help for more information.
[setcolor] <c> <rgb>
- set color <c> to have the <rgb> value <r>,<g>,<b>
e.g. setcolor %(pink) 63 0 38
[sh]ell
- escape to a dos shell.
[size] x1 y1 x2 y2
- resizes current window to have upper left-hand corner at
(x1,y1) and lower right-hand corner at (x2,y2)
[so]urce (script) (p1) (p2) ... (pn)
- run source script file (script). Optional parameters (p1) to
(pn) may be specififed, these are passed to the specified source
script. if "." is specified as the script name, the current
file being edited is run. See "scripts" help for more information.
(range) [s]ubstitute /regexp/repl/(g)(i)
- replace each occurance of regular expression regexp with the
replacement string repl (in the specifed line range). Each
line is searched only once for regexp; if (g) is specified,
all occurances of regexp on a line are matched. If (i) is
specified, then each substitution is verified. See
"regularexpressions" help for more information on regular
expressions.
[tag] (tagname)
- searches for the tag (tagname). uses the file "tags", which
has a collection of procedure names and typedefs, along with
the file in which they are located and a search command/line
number with which to exactly locate the tag.
[tile] (h)|(v)|(x y)
- tile all current file windows. The tiling layout is specified
as an x*y grid. If no parms are given, maxwindowtilex and
maxwindowtiley are used. If (h) is specified, then files are
tiled horizontally (as many as will fit). If (v) is specified,
then files are tiled vertically (as many as will fit).
Specifiying (x y) overrides the default tile grid.
Specifying tile 1 1 causes all windows to be restored
[unab]brev (abbrev)
- removes the abbreviation (abbrev). See abbrev.
[unal]ias (alias)
- removes definition of the the command line alias (alias).
See alias.
[u]ndo (!)
- removes last change, specifying (!) undoes the last undo.
[unmap](!) (key)
- remove the mapping of the key (key) in command mode.
If ! is specified, then the key mapping is removed in
insert mode. See map.
[ver]sion
- display version of the editor
[vie]w (!) (filename)
- like the edit command, only causes file to be a "view only"
file (no modification commands work)
[vi]sual (filename)
- re-enter visual mode (if in EX mode), and, if (filename)
is specified, edit it.
(range) [w]rite (!) (filename)
- write specified range of lines into a file. If no line range
is specified, all lines are written. If (filename) is not
specified, the current file name is assumed. If (filename)
exists, ! forces an overwrite.
(range) [y]ank (buffer)
- yank (copy) line range. If a buffer ('1'-'9', or 'a'-'z')
is specified, the text is yanked into it, otherwise the
text is yanked into the active buffer.
[x]it
- exit current file, saving it if it has been modified.
Menu Setting Commands
=====================
The editor menus are set dynamically. Any menu will
automatically be added to the menu bar when created, and removed when
destroyed. There are some reserved menus:
windowgadget - this menu is the one that appears when the upper left hand
corner of a window is clicked.
float<0-3> - this are floating menus. They are made to appear via
the script command "floatmenu".
[addmenui]tem <menuname> <itemname> <cmd>
- adds a new item to a previously created menu <menuname>
see MENUITEM for details.
[deletemenu] <menuname>
- destroys menu with name <menuname>
[deletemenui]tem <menuname> <index>
- deletes item number <index> from menu <menuname> (0 based).
if <index> is -1, then the last item is removed from the
menu.
[endmenu]
- terminates the creation of a new menu
[menu] <menuname>
- starts the creation of a new menu <menuname>. If a menu
exists with the name already, it is destroyed an re-created.
A character preceded with an '&' will be the hot key
for activating the menu, eg &Control would have 'C' as
the hot key.
<menuname> may be a reserved name: windowgadget, float0,
float1, float2, or float3
[menuitem] <itemname> <cmd>
- adds an item to the menu started with the MENU command.
<itemname> may be a quoted string. A character preceded
with an '&' will be the hot key for activating the menu
item, eg &Exit would have 'X' as the hot key.
cmd may be any editor command
Window Setting Commands
=======================
Each window in the editor can be configured. The following are used to
specify the active window's properties:
[border] <hasbord> <fg_clr> <bg_clr>
- set whether or not there is a border: <hasbord>=-1: none,
<hasbord>=1: has border
<fg_clr> - foreground color of border (ignored for no border)
<bg_clr> - background color of border (ignored for no border)
[dimension] <x1> <y1> <x2> <y2>
- (x1,y1) - coordinates of upper left-hand corner of window
(x2,y2) - coordinates of lower right-hand corner of window
the editor automatically senses the number of lines and columns
avaliable. window dimensions can be set relative to this.
All parameters may be coded as arbitrary expressions. The
global variables %(SW) (screen width) and %(SH) (screen height)
are useful for coding dimensions that are relative to the
current screen size.
[endw]indow
- cease entry of information for the active window
[hilight] <fg_clr> <bg_clr>
- sets foreground and background color of hilighted text in
the window
[text] <fg_clr> <bg_clr>
- sets foreground and background color of normal text in the window
The active window is set by using one of the following commands. Once
an active window is set, all border, dimension, hilight and text
commands apply to that window. Information is processed when
either a new active window is entered, or when the endwindow command is used.
An example of a command sequence for setting a window is:
editwindow
border 1 %(light_green) %(blue)
dimension 0 1 %(SW)-1 %(SH)-5
text %(bright_white) %(blue)
hilight %(light_magenta) %(blue)
endwindow
[commandw]indow
- window where commands and search expressions are entered
[countw]indow
- window that opens when repeat counts are entered (toggled
with the "repeatinfo" flag)
[ctrlw]indow
- sets properties of the windows that open up when a topic
is selected from the control bar (menu).
[ctrlbarw]indow
- sets properties of the windows the control bar (menu) window
[defaultw]indow
- after this is set, all windows get its properties
[dirw]indow
- window that opens up when a file name is not specified
in the "edit" or "read" commands.
[editw]indow
- default text editing window
[extrainfow]indo
- window in which extra information about possible activites
is displayed (displayed with the fgrep and files command)
[filew]indow
- window in which list of files currently being edited is displayed
[filecw]indow
- window in which list of possible file choices when
file completion cannot match one specific file
[linenumberw]indow
- window in which line numbers are displayed
[messagew]indow
- window in which all editor feedback is reported.
(the hilight color is the color errors are reported in)
[setw]indow
- the window in which current editor settings are displayed
(displayed when "set" is entered without parameters)
[setvalw]indow
- window in which the new value of an editor setting is entered
(in conjunction with the setwindow, above)
[statusw]indow
- window where current line and column are reported (toggled with
with flag "statusinfo")