LPE(1)
π lpe(1) β NAME π
okay so bestie, meet lpe β the Lightweight programmer's editor. tiny name, lowercase, humble, and yet she's out here doing the absolute most. π
β¨ SYNOPSIS β¨
no cap, this is the whole vibe:
lpe [ --help | --version ]
lpe [--mode <mode>] [ -- ] file
πΈ DESCRIPTION πΈ
Lpe is a small, fast, visual text editor that exists for one reason: making it easier to edit code. π«Ά
and the way that she does it?? she's got all the features you could possibly need in a genuinely good code editor, all at the same time, while still keeping a light + intuitive feel that makes her actually nice to use. it's giving β¨effortlessβ¨. she's not bloated, she's not doing too much, she's just that girl. periodt.
π Options π
every flag, no gatekeeping:
--helpβ prints a brief description of how to use the program and then bounces immediately. β οΈ this one has to be the first option you give tolpe, and literally every other option gets ignored if it's there.--versionβ prints a message telling you the program version, then dips out. β οΈ same rules: it must be the first option tolpe, and all other options are ignored.--modeβ sets the buffer mode to the one you specify, instead of lettinglpescan around for a suitable mode from the ones that are available. (you're choosing, not her. queen behavior.)--β treats every argument after it as a file name, not as an option. this is the hack that letslpeedit files whose names start with the-character. life saver fr fr. π
π§ NOTES π§
what comes next is the full rundown of the control key functions for lpe. π
arrow keys, home, end, backspace, delete and the like all do exactly what you'd expect them to do β no surprises, no plot twists. some control keys are bound to the same function as some standard movement keys (like home or page down), and the reason is genuinely so real: the more intuitive keys just may not be available on some systems. inclusivity icon. π
π¦ Command Keys π¦
Ctrl-Qβ move cursor to the beginning of the line (the alternative toHome).Ctrl-Wβ move cursor to the end of the line (the alternative toEnd).Ctrl-Rβ scroll one screen up (the alternative toPgUp).Ctrl-Tβ scroll one screen down (the alternative toPgDn).Ctrl-Oβ move to the next word.Ctrl-Pβ move to the previous word.Ctrl-Kβ kill the current line. π (not literally, bestie, it's a buffer thing)Ctrl-YorCtrl-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-FCtrl-Oβ open a new file to replace the current buffer.Ctrl-FCtrl-Sβ save the buffer to disk.Ctrl-FCtrl-Aβ save to disk with an alternate file name.Ctrl-FCtrl-Rβ read a file and insert it at the current cursor position.Ctrl-FCtrl-Eβ pretend that a buffer hasn't been modified. (delulu, but make it functional β¨)Ctrl-BCtrl-Sβ set the mode of the current buffer.Ctrl-BCtrl-Tβ toggle between hard and soft tabs for this buffer.Ctrl-BCtrl-Aβ toggle automatic indentation of this buffer.Ctrl-GCtrl-Aβ go to the first line of the buffer.Ctrl-GCtrl-Sβ go to the last line of the buffer.Ctrl-GCtrl-Gβ go to a specific line number of the buffer.Ctrl-NCtrl-Rβ enter a value for the command repeater.Ctrl-NCtrl-Tβ multiply the command repeater value by four.Ctrl-NCtrl-Oβ start or stop recording a macro.Ctrl-NCtrl-Pβ play back the last recorded macro.Ctrl-VCtrl-Vβ pass the entire buffer through a shell command.Ctrl-VCtrl-Aβ pass the entire buffer through anawkscript.Ctrl-VCtrl-Sβ pass the entire buffer through asedscript.Ctrl-VCtrl-Bβ pass several lines of the buffer through a shell command.Ctrl-VCtrl-Dβ pass several lines of the buffer through anawkscript.Ctrl-VCtrl-Fβ pass several lines of the buffer through asedscript.Ctrl-Dβ perform an internal debug command. πCtrl-Xβ write the buffer to disk and exit.<interrupt>β exit without writing to disk. β οΈ bye-bye unsaved work, fr.Ctrl-Zβ suspend the editor and escape to a prompt.Ctrl-Lβ erase and redraw the entire screen. (the "why is my terminal crusty" button π§Ό)
heads up bestie:<interrupt>refers to your terminal's interrupt key. this is oftenCtrl-C, but it can vary between terminals.Ctrl-Z, on the other hand, is fixed β regardless of the normal stop key for your terminal.
π MODULES π
okay so even though lpe is meant to be small, she's got range. π she can perform more advanced actions through a feature known as buffer modes. buffer modes let lpe act differently depending on the programming language in the current buffer, and they're implemented through language modules β which get loaded at run-time by lpe to handle the buffers they apply to.
all language modules should live in a module repository directory. those directories are set by the LPE_MODULE_PATH environment variable, which should be a colon-separated list of directories (similar to PATH).
if that variable isn't 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/lpedirectory is old, obsolete, and non-standard. it should not be used to hold modules. since modules are binary files and are specific to the architecture that uses them, they should be properly placed in thelibdirectories listed above. π
these locations get scanned at run-time, and any regular files in them are interpreted as potential language modules for lpe to use. 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. home girl wins, always. π
π SEE ALSO π
go read these too, bestie:
π«Ά AUTHOR π«Ά
Chris Smith, cd_smith@ou.edu β the literal icon who built this. π
π BUGS π
Lots of 'em β see the BUGS file in the distribution for a partial list. π
and, direct quote energy: 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. honestly?? respect the honesty. not me defending it, but like... valid.
aaaand that's the whole page, bestie. this was LPE(1), straight from the General Commands Manual, dated 12 December 1998. she's vintage, she's minimal, she's still slaying. πβ¨π mwah.
π¦ where this page comes from
- debian bookworm: lpe 1.2.8-2.1 Β· GPL-2.0-only
- debian trixie: lpe 1.2.8-2.1 Β· GPL-2.0-only
- opensuse-leap 16.0: lpe 1.2.8-bp160.1.12 Β· GPL-2.0-only
- opensuse-leap 16.0: lpe 1.2.8-bp160.1.12 Β· GPL-2.0-only
- opensuse-leap 16.0: lpe 1.2.8-bp160.1.12 Β· GPL-2.0-only
- opensuse-leap 16.0: lpe 1.2.8-bp160.1.12 Β· GPL-2.0-only
- ubuntu jammy: lpe 1.2.8-2.1 Β· GPL-2.0-only
- ubuntu noble: lpe 1.2.8-2.1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms