Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   Welcome
      Introduction
      Features
   Getting Started
      . . .
      Invoking Epsilon
      Configuration Variables
      Epsilon Command Line
         DOS-specific and OS/2-specific Flags
      File Inventory
   General Concepts
      Buffer Concepts
      Window Concepts
      Epsilon's Screen Layout
      . . .
      The Menu Bar
   . . .

Previous   Up    Next
Configuration Variables  Getting Started   DOS-specific and OS/2-specific Flags


Epsilon User's Manual and Reference > Getting Started >

Epsilon Command Line

When you start Epsilon, you may specify a sequence of command line flags (also known as command-line options, or switches) to alter Epsilon's behavior. Flags must go before any file name.

Each flag consists of a minus sign ("-"), a letter, and sometimes a parameter. You can use the special flag -- to mark the end of the flags; anything that follows will be interpreted as a file name even if it starts with a - like a flag.

If a parameter is required, you can include a space before it or not. If a parameter is optional (-b, -m, -p) it must immediately follow the flag, with no space.

Before examining the command line, Epsilon looks for a configuration variable (see Configuration Variables) named EPSILON and "types in" the value of that variable to the command line before the real command line. Thus, if you give the DOS or OS/2 command processor the command:

set epsilon=-m250000 -smine

then Epsilon would behave as if you had typed

epsilon -m250000 -smine myfile

when you actually type

epsilon myfile

Here we list all of the flags, and what they do:

+number
Epsilon normally shows you the beginning of each file you name on the command line. If you want to start at a different line, put "+number" before the file's name, where number indicates the line number to go to. You can follow the line number with a colon and a column number if you wish.

-add
This flag tells Epsilon for Windows or Unix to locate an existing instance of Epsilon, pass it the rest of the command line, and exit. (Epsilon ignores the flag if there's no prior instance.) If you want to configure another program to run Epsilon to edit a file, but use an existing instance of Epsilon if there is one, just include this flag in the Epsilon command line. See Sending Files to a Prior Session for details on Epsilon's server support.

-bfilename
Epsilon normally reads all its commands from a state file at startup. (See the -s flag below.) Alternately, you can have Epsilon start up from a file generated directly by the EEL compiler. These bytecode files end with a ".b" extension. This flag says to use the bytecode file with name filename, or "epsilon" if you leave out the filename. You may omit the extension in filename. You would rarely use this flag, except when building a new version of Epsilon from scratch. Compare the -l flag.

-dvariable!value
You can use this flag to set the values of string and integer variables from the command line. The indicated variable must already exist at startup. You can also use the syntax -dvariable=value, but beware: if you run Epsilon via a .BAT or .CMD file, the system will replace any ='s with spaces, and Epsilon will not correctly interpret the flag.

-e flags
See DOS-specific and OS/2-specific Flags for information on these DOS-specific flags.

-fdfilename
This flag tells Epsilon where to look for the on-line documentation file. Normally, Epsilon looks for a file named edoc. This flag tells Epsilon to use filename for the documentation file. If you provide a relative name for filename, then Epsilon will search for it; see Configuration Variables. Use a file name, not a directory name, for filename.

-fhdirnames
(DOS and Windows only) This switch tells Epsilon what directories to use for the temporary files it creates under DOS during "shrinking" and "capturing." When Epsilon runs another program, it can move itself out of memory to give the other program more room. We call this shrinking. Epsilon can also capture the output of programs it runs, to read compiler error messages, for example. Epsilon creates temporary files when you use either of these features (by running the push or make commands, for example) and this switch lets you tell Epsilon where to put these files. (Only the DOS version of Epsilon, not the Windows version, uses a shrink file, but both use capture files.) When you use this switch, dirnames should specify a list of one or more directories, separated by semicolons.

When Epsilon needs to create temporary files, it looks through the list of directories dirnames for a directory with enough free space. If none have enough, it looks through its list of swap directories (described next) for one with space. If none of those have enough, it will ask you for a directory name for temporary files. If you don't use this switch, Epsilon will go immediately to the list of swap directories.

For shrinking and capturing, Epsilon uses temporary files named eshrink and eshell. However, Epsilon will modify the names to avoid a conflict with another Epsilon using these files.

-fsdirnames
This switch tells Epsilon what directories to use for swap files, if Epsilon needs to use them. Dirnames should indicate a list of one or more directories, separated by semicolons. Epsilon will always create its first swap file in the first directory named. If it finds that it can no longer expand that file, it will switch to the second directory, and so forth. If it cannot find any available space, it will ask you for another directory name.

If you don't use this switch, Epsilon will create any swap file it needs in the directory named by the TMP environment variable. If TMP doesn't exist, Epsilon tries TEMP. If Epsilon can't find either, it will create any swap file it needs in the root directory of the drive from which you started Epsilon. Epsilon calls its swap file eswap, but it will use another name (like eswap0, eswap1, etc.) to avoid a conflict with another Epsilon using this file. (Under DOS, be sure to load DOS's share.exe program so that Epsilon can detect these conflicts.)

-geometry
When Epsilon for Unix runs as an X program, it recognizes this standard X flag.

-k flags
See DOS-specific and OS/2-specific Flags for information on other DOS and OS/2-specific -k flags.

-kanumber
(Windows only) This switch turns off certain keyboard functions to help diagnose problems. It's followed by a number. -ka1 tells Epsilon not to translate the Ctrl-2 key combination to NUL. -ka2 tells Epsilon not to translate the Ctrl-<Space> key combination to NUL. -ka4 tells Epsilon to try to work around a caret-related screen painting bug on some Windows 3.1 display cards. Also see DOS-specific and OS/2-specific Flags for the DOS and OS/2-specific versions of this flag.

-ke
This switch tells Epsilon that your computer has an extended keyboard with a separate cursor pad. If you don't provide this switch, cursor pad keys will function the same as the corresponding numeric pad keys. If you use this switch, you can bind different commands to the two sets of keys. See Keys and their Representation. The exact keyboard changes made by this switch vary based on the operating system under which Epsilon is running.

-ksnumber
(Windows, Unix, & OS/2 only) This flag lets you manually adjust the emphasis Epsilon puts on speed during long operations versus responsiveness to the abort key. Higher numbers make Epsilon slightly faster overall, but when you press the abort key, Epsilon may not respond as quickly. Lower numbers make Epsilon respond more quickly to the abort key, but with a performance penalty. The default setting is -ks100.

-lbytecode
Giving this switch makes Epsilon load a bytecode file named bytecode.b after loading the state file. If you give more than one -l flag on the command line, the files load in the order they appear. Compare the -b flag.

-mbytes
This switch controls how much memory Epsilon uses. Epsilon interprets a number less than 1000 as a number of kilobytes, otherwise, as bytes. You may explicitly specify kilobytes by ending bytes with "k", or megabytes by ending bytes with "m". Specify -m0 to use as little memory as possible, and -m to put no limit on memory use.

Except under DOS, this flag tells Epsilon how much memory it may use for the text of buffers. If you read in more files than will fit in the specified amount of memory, or if despite a high limit, the operating system refuses Epsilon's requests for more memory, Epsilon will swap portions of the files to disk. By default, Epsilon puts no limits on its own memory usage.

Under DOS, this flag tells Epsilon how much "conventional memory" it should reserve for buffer text when it starts a concurrent process. By default, Epsilon reserves about 25% of the available memory for buffer text before it starts a concurrent process. This flag does not affect the amount of UMB, UMA, EMS or XMS memory Epsilon uses, but the presence of these types of memory can reduce Epsilon's need for conventional memory. See the description of the -e and -x flags for more information on these other types of memory.

-nologo
In some environments Epsilon prints a short copyright message when it starts. This flag makes it skip displaying that message.

-noserver
This flag tells Epsilon for Windows or Unix that it should not register itself as a server so as to accept messages from other instances of Epsilon. By default, Epsilon will receive messages from future instances of Epsilon that are started with the -add flag, or (for Windows) sent via file associations or DDE. See Sending Files to a Prior Session for details. The flag -nodde is a synonym.

-pfilename
This overrides the ESESSION configuration variable to control the name of the session file that Epsilon uses. When you specify a file name, Epsilon uses that for the session file, just as with ESESSION. Because the -p0 and -p1 flags enable and disable sessions (see the next item), the given filename must not begin with a digit.

-pnumber
This flag controls whether or not Epsilon restores your previous session when it starts up. By default, Epsilon will try to restore your previous window and buffer configuration. The -p flag with no number toggles whether Epsilon restores the session. Give the -p0 flag to disable session restoring and saving, and the -p1 flag to enable session restoring and saving. This flag understands the same values as the preserve-session variable; see its description for other options.

-quickup
Epsilon uses this flag to help perform certain updates. It searches for and loads a bytecode file named quickup.b. This flag is similar to the -l flag above, but the -quickup flag doesn't require any EEL functions to run. For that reason, it can replace and update any EEL function.

-rcommand
Giving this switch makes Epsilon try to run a command or keyboard macro named command at startup. If the command doesn't exist, nothing happens. If you specify more than one -r flag on the command line, they execute in the order they appear.

-sfilename
When Epsilon starts up, it looks for a state file named epsilon.sta. The state file contains definitions for all of Epsilon's commands. You can create your own state file by using the write-state command. This switch says to use the state file with the name filename. Epsilon will add the appropriate extension if you omit it. Specify a file name for filename, not a directory name. Of course, the file name may include a directory or drive prefix. If you specify a relative file name, Epsilon will search for it. See Configuration Variables. See also the -b flag, described above.

-server:servername
(Windows and Unix only) The command line flag -server may be used to alter the server name for an instance of Epsilon. An instance of Epsilon started with -server:somename -add will only pass its command line to a previous instance started with the same -server:somename flag. See Sending Files to a Prior Session. The flag -dde is a synonym.

-teach
This flag tells Epsilon to load the on-line tutorial file at startup. See Epsilon Tutorial.

-v flags
See DOS-specific and OS/2-specific Flags for information on other DOS-specific -v flags.

-vcx
x indicates the number of columns you want displayed while in Epsilon. For example, if your display board has 132 columns, use the "-vc132" flag. See the -vl flag, described below. See the -geometry flag for the equivalent in Epsilon for Unix.

-vcolor
Epsilon normally tries to determine whether to use a monochrome color scheme or a full-color one based on the type of display in use and its mode. This flag forces Epsilon to use a full-color color scheme, regardless of the type of the display.

-vlx
x indicates the number of screen lines you want to use while in Epsilon. See the -vc switch, described above, and the discussion of display modes in Video Display Modes. See -geometry for the equivalent in Epsilon for Unix.

-vmono
Epsilon normally tries to determine whether to use a monochrome color scheme or a full-color one based on the type of display in use and its mode. This flag forces Epsilon to use its monochrome color scheme, regardless of the type of the display.

-vt
(Unix only) This flag forces Epsilon to run as a curses-style terminal program, not an X program. By default Epsilon for Unix runs as an X program whenever an X display is specified (either through a DISPLAY environment variable or a -display flag), and a terminal program otherwise.

-vv
This flag instructs Epsilon to split the screen vertically, not horizontally, when more than one file is specified on the command line.

-vx and -vy
These flags let you specify the position of Epsilon's window in Epsilon for Windows. For example, -vx20 -vy30 positions the upper left corner of Epsilon's window at pixel coordinates 20x30. See -geometry for the equivalent in Epsilon for Unix.

-wnumber
This flag controls several directory-related settings. Follow it with a number.

The -w1 flag tells Epsilon to remember the current directory from session to session. Without this flag, Epsilon will remain in whatever current directory it was started from. Epsilon always records the current directory when it writes a session file; this flag only affects whether or not Epsilon uses this information when reading a session file.

The -w2 flag has no effect in this version of Epsilon.

The -w4 flag tells Epsilon not to look for its own files in the directory containing the Epsilon executable. Similarly, the -w8 flag tells Epsilon not to look for its own files in the parent of the directory containing the Epsilon executable. Epsilon normally looks for its own files in these two directories, prior to searching the EPSPATH. If you choose to put Epsilon's executable files in a common directory with other executable files, you may wish to set this flag. If you do this, make sure the EPSPATH points to the correct directory.

The -w16 flag tells Epsilon to set its current directory to the directory containing the first file named on its command line. If you edit files by dragging and dropping them onto a shortcut to Epsilon, you may wish to use this flag in the shortcut.

You can combine -w flags by adding their values together. For example, -w5 makes Epsilon remember the current directory and exclude its executable's directory from the EPSPATH. All Windows program icons for Epsilon invoke it with -w1 so that Epsilon remembers the current directory. (When you tell the installer to put Epsilon's executables in a common directory, not in Epsilon's normal directory structure, the installer uses the -w13 flag in Epsilon's icons, and the -w12 flag when Epsilon is invoked from the command line. Epsilon then relies on the EPSPATH setting to find its files.)

-wait
This flag tells Epsilon for Unix to locate an existing instance of Epsilon, pass it the rest of the command line, and wait for the user in that instance to invoke the resume-client command. (Epsilon ignores the flag if there's no prior instance.) If you want to configure another program to run Epsilon to edit a file, but use an existing instance of Epsilon, just include this flag in the Epsilon command line. See Sending Files to a Prior Session for details on Epsilon's server support.

-x flags
See DOS-specific and OS/2-specific Flags for information on the DOS-specific -x flags.



Previous   Up    Next
Configuration Variables  Getting Started   DOS-specific and OS/2-specific Flags


Lugaru Copyright (C) 1984, 2020 by Lugaru Software Ltd. All rights reserved.