jsMacs 0.0000...2

A demonstration of text editing in the browser, with the arbitrary
avoidance of useful Javascript libraries.

  - It should work on most browsers, but I haven't bothered to
    test this.

  - Works best on Firefox.  Chrome and other browsers will preempt
    some keybindings (like C-w, C-_).  Chrome's keyboard input API
    support has been unstable too, things might be broken.

You can undo and redo using C-_, and you can copy and paste text
using C-y, M-y, C-k, M-d, C-w, etc, like you do in Emacs.  It has the
usual kill ring and undo ring behavior that you'd expect.

A full list of keybindings:

C-a: moveToBeginningOfLine()
C-b: moveLeft(1)
M-b: backwardWord()
C-d: deleteRight(1)
M-d: deleteForwardWord()
C-e: moveToEndOfLine()
C-f: moveRight(1)
M-f: forwardWord()
C-k: killLine()
C-n: moveDown()
C-p: moveUp()
C-w: killRegion()
C-y: yank()
M-y: altYank()
C-_: undo()
<space>: appendLeft(" ")
<C-space>: setMark()
<backspace>: deleteLeft(1)
<C-backspace>: deleteBackwardWord()
<M-backspace>: deleteBackwardWord()
<return>: appendLeft("\n")
<delete>: C-d
<M-delete>: M-d
<left>: moveLeft(1)
<right>: moveRight(1)
<up>: moveUp()
<down>: moveDown()
<end>: moveToEndOfLine()
<home>: moveToBeginningOfLine()