For information on the scripting visit [[../abacus-core/][Abacus Core]]
* Blocks
The editor is separated into multiple /BLOCKS/. These blocks can be used to perform separate, related calculations. Each block can have a single output, which is the returned value from the block.
All blocks share the same global scope, meaning variables, functions, etc defined in a block are available to subsequent blocks.
* Modal editing
Abacus's editor is a modal editor that tries to follow VIM keybinds. The editor has two functional modes:
** Normal mode
In normal mode the cursor is a block and functional keybinds can be used for movement.
*** Normal mode keybinds
| Key | Action |
| i | Enter insert mode |
| h | Cursor left |
| j | Cursor down |
| k | Cursor up |
| l | Cursor right |
| A | Cursor to end of line and enter insert mode |
| I | Cursor to beginning of line and enter insert mode |
| O | Insert new line below and enter insert mode |
| o | Insert new line above and enter insert mode |