LPE(1)

NAME
lpe - Lightweight programmer's editor

SYNOPSIS
lpe [ --help | --version ]
lpe [--mode <mode>] [ -- ] file

DESCRIPTION
Lpe is a small, fast, visual text editor designed to make editing code easier. It provides simultaneously all the features that may be required in a good code editor while preserving a light and intuitive feel that makes it nice to use.

  Options

--help
    Prints a brief description of program usage and terminates. This must be the first option to lpe, and all other options are ignored.

--version
    Prints a message indication the program version and terminates. This must be the first option to lpe, and all other options are ignored.

--mode
    Sets the buffer mode to the one specified, instead of scanning for a suitable mode from those available.

--  Treat future arguments as file names, not options. This allows lpe to be used to edit files starting with the - character.

NOTES
What follows are the control key functions for lpe. Arrow keys, home, end, backspace, delete and the like all do as they would be expected to do. Some control keys are bound to the same function as some standard movement keys, such as home or page down. This is because the more intuitive keys may not be available on some systems.

  Command Keys

Ctrl-Q
    Move cursor to beginning of line (alternative to Home)

Ctrl-W
    Move cursor to end of line (alternative to End)

Ctrl-R
    Scroll one screen up (alternative to PgUp)

Ctrl-T
    Scroll one screen down (alternative to PgDn)

Ctrl-O
    Move to the next word

Ctrl-P
    Move to the previous word

Ctrl-K
    Kill the current line

Ctrl-Y or Ctrl-U
    Insert the most recent block of killed lines

Ctrl-S
    Search for a specified string in the file

Ctrl-A
    Search again for the last search query

Ctrl-F Ctrl-O
    Open a new file to replace the current buffer

Ctrl-F Ctrl-S
    Save the buffer to disk

Ctrl-F Ctrl-A
    Save to disk with an alternate file name

Ctrl-F Ctrl-R
    Read a file and insert it at the current cursor position

Ctrl-F Ctrl-E
    Pretend that a buffer hasn't been modified

Ctrl-B Ctrl-S
    Set the mode of the current buffer

Ctrl-B Ctrl-T
    Toggle between hard and soft tabs for this buffer

Ctrl-B Ctrl-A
    Toggle automatic indentation of this buffer

Ctrl-G Ctrl-A
    Go to the first line of the buffer

Ctrl-G Ctrl-S
    Go to the last line of the buffer

Ctrl-G Ctrl-G
    Go to a specific line number of the buffer

Ctrl-N Ctrl-R
    Enter a value for the command repeater

Ctrl-N Ctrl-T
    Multiply the command repeater value by four

Ctrl-N Ctrl-O
    Start or stop recording a macro

Ctrl-N Ctrl-P
    Play back the last recorded macro

Ctrl-V Ctrl-V
    Pass the entire buffer through a shell command

Ctrl-V Ctrl-A
    Pass the entire buffer through an awk script

Ctrl-V Ctrl-S
    Pass the entire buffer through a sed script

Ctrl-V Ctrl-B
    Pass several lines of the buffer through a shell command

Ctrl-V Ctrl-D
    Pass several lines of the buffer through an awk script

Ctrl-V Ctrl-F
    Pass several lines of the buffer through a sed script

Ctrl-D
    Perform an internal debug command

Ctrl-X
    Write the buffer to disk and exit

<interrupt>
    Exit without writing to disk

Ctrl-Z
    Suspend the editor and escape to a prompt

Ctrl-L
    Erase and redraw the entire screen

    <interrupt> refers to your terminal's interrupt key. This is often Ctrl-C, but can vary between terminals. Ctrl-Z, on the other hand, is fixed, regardless of the normal stop key for your terminal.

MODULES

Although lpe is meant to be small, it has the capability of performing more advanced actions through a feature known as buffer modes. Buffer modes allow lpe to act differently according to the programming language in the current buffer. They are implemented through language modules, which are loaded at run-time by lpe to handle buffers that they apply to.

All language modules should be placed in a module repository directory. These directories are set by the LPE_MODULE_PATH environment variable, which should be a colon-separated list of directories (similar to PATH). If this variable is not set, then lpe scans for modules in the following locations, and in this order:

$HOME/.lpe /usr/local/lib/lpe /usr/lib/lpe /etc/lpe

Note that the /etc/lpe directory is old, obsolete, and non-standard. It should not be used to hold modules. As modules are binary files and are specific to the architecture that uses them, they should be properly placed in the lib directories listed above.

These locations are scanned at run-time, and any regular files in them are interpreted as potential language modules for use by lpe. Subdirectories will not be scanned. A buffer will be assigned the first mode found that applies to that file, so for example a mode in a user's home directory will override one in the system-wide lib directory.

SEE ALSO
emacs(1), pico(1)

AUTHOR
Chris Smith, cd_smith@ou.edu

BUGS
Lots of 'em -- see the BUGS file in the distribution for a partial list. I am not planning on updating this man page often enough to keep up with the bug list, so I won't even try to list bugs here.