Hangar.La tienda de software del Amiga

femto 2.11

Extended version of Atto Emacs

Short:        Extended version of Atto Emacs
Author:       Anthony Howe, hughbarney@gmail.com (Hugh Barney)
Uploader:     polluks+aminet sdf lonestar org (Stefan Haubenthal)
Type:         dev/gg
Version:      2.11
Requires:     touch $HOME/femto.rc
Architecture: ppc-morphos

Femto is an extended version of Atto Emacs with a Tiny Lisp extension
languauge

# Goals of Femto Emacs

* To be an extendable version of the Atto Emacs editor using a Tiny Lisp
  extension language
* Provide a number of useful extension packages written in Tiny Lisp (these
  include an interface to **git** (similar to GNU Emacs Magit), a small
  version of **dired**, a buffer management menu (**buffer menu**), 
  **defmacro** allows for a macro to be recorded and invoked using c-x e, and
  an interface to **grep**.
* Be easy to understand without extensive study (to encourage further
  experimentation).


# What does Femto bring to the party of Text Editors

As far as I know Femto is the only Emacs style editor to provide a macro
recorder that generates usable Lisp code that can then be used to build a
larger, more complex utility.   Whilst GNU Emacs has a macro recorder facility
it only allows you to dump out the keystrokes used during macro recording. 
Femto does this by writing the lisp code to a text buffer called **macro**. 
Though I have tried dozens of text editors over the years (mostly on PCs, but
a few on mini and mainframe computers) I am not aware of any other editor that
works this way.  This feature was born out of the principle of keeping a small
editor code written in C and where possible using Lisp to implement new
features.  The standard Emacs macro keystrokes [C-x (, C-c ), C-x e] are all
written in Lisp in the file examples/defmacro.lsp. This meant that no special
C code was needed in Femto to know when it was in macro mode or not.

 Comparisons with Other Emacs Implementations

Femto has almost the same level of functionality as MicroEmacs 3.10 for a
codebase 1/10 of the size.

    Editor         Binary   BinSize     KLOC  Files

    atto           atto       33002     1.9k     10
    pEmacs         pe         59465     5.7K     16
    Esatz-Emacs    ee         59050     5.7K     14
    femto          femto     356399     6.3k     18 **
    GNOME          GNOME      55922     9.8k     13
    Zile           zile      257360    11.7k     48
    Mg             mg        585313    16.5K     50
    uEmacs/Pk      em        147546    17.5K     34
    Pico           pico      438534    24.0k     29
    Nano           nano      192008    24.8K     17
    jove           jove      248824    34.7k     94
    Qemacs         qe        379968    36.9k     59
    ue3.10         uemacs    171664    52.4K     16 ++
    GNUEmacs       emacs   14632920   358.0k    186

# Femto Key Bindings
    C-A   begining-of-line
    C-B   backward-character
    C-D   delete-char
    C-E   end-of-line
    C-F   forward Character
    C-G	  Abort (at prompts)
    C-H   backspace
    C-I   handle-tab
    C-J   newline
    C-K   kill-to-eol
    C-L   refresh display
    C-M   Carrage Return
    C-N   next line
    C-P   previous line
    C-R   search-backwards
    C-S	  search-forwards
    C-U   Undo
    C-V   Page Down
    C-W   Kill Region (Cut)
    C-X   CTRL-X command prefix
    C-Y   Yank (Paste)

    M-<   Start of file
    M->   End of file
    M-v   Page Up
    M-f   Forward Word
    M-b   Backwards Word
    M-g   goto-line
    M-r   Search and Replace
    M-w   copy-region

    C-<spacebar> Set mark at current position.

    ^X^B  List Buffers
    ^X^C  Exit. Any unsaved files will require confirmation.
    ^X^F  Find file; read into a new buffer created from filename.
    ^X^S  Save current buffer to disk, using the filename associated with the
          buffer
    ^X^W  Write current buffer to disk. Type in a new filename at the prompt
    ^X@   shell-command (prompted for a command which is sent to the shell
    ^Xi   Insert file at point
    ^X=   Show Character at position
    ^X^N  next-buffer
    ^Xn   next-buffer
    ^Xk   kill-buffer
    ^X1   delete-other-windows
    ^X2   split-window
    ^Xo   other-window

    Home  Beginning-of-line
    End   End-of-line
    Del   Delete character under cursor
    Ins   Toggle Overwrite Mode
    Left  Move left
    Right Move point right
    Up    Move to the previous line
    Down  Move to the next line
    Backspace delete caharacter on the left
    Ctrl+Up      beginning of file
    Ctrl+Down    end of file
    Ctrk+Left    Page Down
    Ctrl+Right   Page Up

## Copying and moving
    C-<spacebar> Set mark at current position
    ^W   Delete region
    ^Y   Yank back kill buffer at cursor
    M-w  Copy Region

A region is defined as the area between this mark and the current cursor
position. The kill buffer is the text which has been most recently deleted or
copied.

Generally, the procedure for copying or moving text is:
1. Mark out region using M-<spacebar> at the beginning and move the cursor to
   the end.
2. Delete it (with ^W) or copy it (with M-W) into the kill buffer.
3. Move the cursor to the desired location and yank it back (with ^Y).

## Searching
    C-S or C-R enters the search prompt, where you type the search string
    BACKSPACE - will reduce the search string, any other character will extend
                it
    C-S at the search prompt will search forward, will wrap at end of the
        buffer
    C-R at the search prompt will search backwards, will wrap at start of the
        buffer
    ESC will escape from the search prompt and return to the point of the
        match
    C-G abort the search and return to point before the search started

Gratis

Descargar 768 KB

Desde el Amiga: abre Hangar y busca femto.

AutorAnthony Howe, hughbarney@gmail.com (Hugh Barney)
Categoríadev/gg
Tamaño768 KB
Fecha2026-03-17
Parappc-morphos
Necesitatouch $HOME/femto.rc
OrigenAminet