SLED(1) General Commands Manual SLED(1)
NAME
sled - Simple text editor
SYNOPSIS
sled [-h | --help]
sled [-V | --full-version]
sled [-v | --version]
sled [filename]
COPYRIGHT
sled Copyright © 2022-2023 Strahinya Radich.
This program is licensed under GNU GPL v3 or later. See the file LI-
CENSE in the sled repository for details. File termbox.h is based on
termbox2 TUI library, (c) 2021 termbox developers, which is released
under the terms of Expat license, see the file LICENSE.termbox.
DESCRIPTION
sled is a simple text editor with a terminal UI.
MODES
sled has four modes of operation. The initial mode which is active on
startup is the insert mode. It behaves like one would expect from a
"normal" text editor: most characters are self-inserting, arrow keys
and backspace/delete work as expected, and so on. Command mode behaves
more like vi(1): characters like h, j, k, l no longer insert themselves
but execute commands (in this case movement commands). Overwrite mode
is the same as insert mode, except that newly inserted characters re-
place the existing ones instead of being inserted among them. Last, in
selection mode, moving around the file extends the selection, and most
commands that alter text instead delete the selection and exit selec-
tion mode.
KEY BINDINGS
Global key bindings are active in all modes, and are as follows:
+------------------------------------------------------------+
|Key Action |
+------------------------------------------------------------+
|Esc Close dialog, clear error, cancel selection |
|F1 Show help dialog |
|F3 Go to next found match |
|S-F3 Go to previous found match |
|F4 Show search, then replace dialog |
|F7 Show only search dialog |
|Home or C-A Go to start of line |
|PgUp or C-B Go to previous page |
|Backspace Erase character before cursor |
|C-\ Toggle command mode |
|C-C Yank to paste buffer |
|Delete or C-D Erase character under cursor |
|End or C-E Go to end of line |
|Insert Toggle overwrite |
|PgDown or C-F Go to next page |
|C-K Erase to end of line |
|C-L Show Go to line dialog |
|C-N Go to next found match |
|C-O Reread (reopen) file |
|C-P Go to previous found match |
|C-Q Quit |
|C-R Go to previous word |
|C-S Write (save) file |
|C-Space Toggle selection mode |
|C-T Go to next word |
|C-U Erase to start of line |
|C-V Paste from paste buffer |
|C-X Cut to paste buffer |
|C-Y Erase the entire current line |
|C-Z Suspend |
|C-W Erase previous word |
+------------------------------------------------------------+
In insert mode and overwrite mode, characters are self-inserting, and
Enter inserts new line. All the global keys apply to insert mode as
well. Entering overwrite mode switches back to insert mode when the
overwrite mode is toggled off, even when the overwrite mode was entered
from the command mode.
In command mode, the following vi-like keys are in effect:
+-------------------------------------------------+
|Key Action |
+-------------------------------------------------+
|/ Show only search dialog |
|\ Show search, then replace dialog |
|: Show Go to line dialog |
|0 Go to start of line |
|$ Go to end of line |
|d Erase the entire current line |
|G Go to last line in the file |
|g Go to first line in the file |
|H Go to first line on the screen |
|h Go to previous character |
|J Join lines in selection/line and next line |
|j Go to next line |
|k Go to previous line |
|L Go to last line on the screen |
|l Go to next character |
|M Go to middle line on the screen |
|N Go to previous found match |
|n Go to next found match |
|P Paste from paste buffer |
|q Quit |
|R Toggle overwrite mode |
|r Reread (reopen) file |
|v Toggle selection mode |
|W Go to previous word |
|w Go to next word |
|X Cut to paste buffer |
|x Erase character under cursor |
|y Yank to paste buffer |
|Z Write (save) file |
+-------------------------------------------------+
If selection mode was entered from insert mode (or insert mode is acti-
vated during selection mode), typing any self-inserting character or
activating key bindings which modify text, like Delete or C-K, will
erase the selected text instead, and in the case of self-inserting
characters, insert the character in question, exiting the selection
mode.
Similar holds true when the selection mode is entered from the command
mode or the command mode is activated during the selection mode, except
that vi-like key bindings which modify text will have the effect on the
selection.
STATUS LINE
Status line is comprised of a number of segments, by default four.
• The leftmost segment displays the current filename, with an aster-
isk (*) if there are any unsaved changes.
• Second segment displays the current mode.
• Third segment displays the current position within the file, in the
form
[column]:[row] ([percentage of total lines]%)
• Fourth segment shows quick help.
AUTHOR
Strahinya Radich, <https://strahinja.org>
KNOWN LIMITATIONS
• UTF-8 character set is assumed.
• CJK characters are unsupported/problematic. This is a limitation of
termbox library. See
<https://github.com/nsf/termbox>
for more details.
• Only one file can be edited at a time, and no additional files can
be loaded at runtime. This is a design decision.
• If backup creation is enabled (CREATE_BACKUPS in config.h), the di-
rectory of the edited file must be writable by the user to open the
file.
BUGS
Bugs can be reported using the ticket tracker at: <https://todo.sr.ht/
~strahinja/sled>
sled 0.11.11 October 14, 2023 SLED(1)