nxu/femto.txt

107 lines
3.0 KiB
Plaintext

---- femto text editor ----
based on nano.
draws graphics using ANSI control sequences.
this means the terminal must be in raw mode with echo
turned off. the `femto` wrapper script achieves this
using `stty raw -echo` (it also restores the previous
terminal settings on exit).
---- WARNING ----
this is alpha quality software, still under active
development. although it seems to work fairly reliably
it has bugs!
please consider making backups (or using version control)
before using femto to modify important files.
---- getting started ----
you must provide a path to a file when starting femto:
./femto femto.tal
(if the file does not exist, femto will create it on save.)
the femto launcher script makes many assumptions:
- uxnasm and uxncli are both in the PATH
- femto.tal is in the same directory as femto
- femot.rom should be written in the same directory
once femto is not in active development a more robust
packaging process can be explored.
---- current status ----
- can't create new directories while saving
- doesn't support horizontal scrolling for long lines
- no search & replace
- no copy/paste
- doesn't support function keys, mouse, etc.
---- status line ----
the femto status line contains a lot of information:
1. if the file has unsaved changes (**) or not (--)
2. the file name (e.g. "scratch.tal")
3. the number of bytes/lines (e.g. "[49 bytes, 8 lines]"
4. the x/y cursor position (e.g. "(1,8)" for col 1, row 8)
5. whether tabs ("[t]") or spaces ("[s]") are inserted by tab key
6. how to run the help command (C-h)
---- special key bindings ----
C-g cancel (used with commands like save, search, etc.)
C-h help
C-x quit
C-o save
C-u undo
C-b move back one character (or LEFT ARROW)
C-f move forward one character (or RIGHT ARROW)
M-b move back by one word
M-f move forward by one word
C-n move down one line (or DOWN ARROW)
C-p move up one line (or UP ARROW)
M-v page up (or PAGE DOWN)
C-v page down (or PAGE UP)
C-a go to beginning of line (or HOME)
C-e go to end of line (or END)
M-< go to start of file
M-> go to end of file
M-g go to line
C-l center screen on cursor line
C-s search for a substring [1]
M-s search for matches using a regular expression [1]
C-d delete
M-c toggle color scheme
M-t toggle tabs-vs-spaces indentation
(C stands for Control)
(M stands for Meta, often Alt or Option)
---- search [1] ----
when searching femto will highlight matches and accepts
the following commands:
- C-g: cancel the search and restore the cursor
- Enter: end the search, leaving the cursor where it is
- n (or C-s): move forward to the next match, if any
- p (or C-r): move backwards to the previous match, if any
regex support is a work in progress, but basic regular expression
syntax is mostly working.
there are notable absences such as references to capture groups
(such as \1), repetitions (such as {n} or {m,n}), and symbolic
character classes (such as \w or \s).