# Block Editor The block editor provides a simple interface for allowing the user to edit blocks stored in the Quad SPI flash on supported devices, currently the STM32F746 DISCOVERY board and the Raspberry Pi Pico (along with other RP2040 boards with Quad SPI flash compatible with the Winbond Quad SPI flash used by the Raspberry Pi Pico). When in use, the following keys can be used to control editing: * Backspace: delete the character to the left of the cursor * Delete: delete the character under the cursor * Tab: insert one or two spaces, depending on whether the cursor is on an odd or an even column (starting from column 0) * Up: move the cursor one line up * Down: move the cursor one line down * Newline: move the cursor to the start of the next line, or if the cursor was at the last line, change to the next block and move the cursor to the start of the first line * Left / Control-B: move the cursor one character to the left * Right / ControlF: move the cursor one character to the right * Control-A: move the cursor to the start of the input * Control-E: move the cursor to the end of the input * Control-N: change to the next block * Control-P: change to the previous block * Control-U: insert a line above the current line * Control-K: if the current line is empty, delete it, else delete the current line's contents * Control-W: save the current block * Control-X: revert the current block * Control-V: exit the editor, saving all modified blocks Note that tabs (which are treated as being of two spaces wide due to the limited space available in blocks) and characters of code points greater than 127 are handled correctly. Also note that only nine blocks (currently) are stored in memory, and if a modified block is removed from memory it is automatically saved. Note that block ids start from zero, unlike on many Forths where they traditionally started from one. ### `forth` The following words are in `forth`: ##### `edit` ( id -- ) Open the block editor for the given block; note that adjacent blocks are also automatically loaded into memory