## The Text / Message Editors

Every user must choose one of a number of editors to use when writing messages and editing file descriptions and other text. By default, DLG comes with two editors -- a Line Editor intended for low-end non-ANSI users, and a Full-Screen editor that has full cursor control and a number of convenient functions that make using it much easier.

### The Line Editor

The Line Editor is the fallback editor for anyone whose terminal does not fully support ANSI and VT100 command sequences. While it lacks the flash of the full screen editor, it is quite useable. The user begins by typing the message as normal, and the program keeps track of line wraps and so forth. When the user is finished typing, he types CONTROL-Z (^Z) and is presented with a list of options.

Key | Function | Description
R | Retrieve Text File | (Sysop Only) This allows the sysop to retrieve a text file from the hard drive and append it to the message.
W | Write Text File | (Sysop Only) This allows the sysop to write the message's text to a text file on the hard drive.
L | List Message | Lists the contents of the message as it will appear in the final version.
E | Search and Replace Editor | Querries the user for text to search for in the message, and for replacement text if it is found. This function is case-sensitive.
A | Abort | Cancels the message and returns the user from whence the editor was invoked.
S | Save | Writes the message out and exits the editor.
C | Continue | Resume editing the message. The last line of the message is displayed.
BS | Backspace | Erases the previous character. If at the beginning of a new line, the editor will "back up" to the previous line and position the cursor at the end of it.

### The Full Screen Editor

The Full Screen Editor is the preferred editor for anyone whose terminal fully supports ANSI and VT100 command sequences. The user can enter messages, navigate the text in an intuitive fashion, and even customize the editing environment to some extent. The following keystrokes are used:

General | Key | Function | Description
ESC ? | Help | Displays online help to user.
^Z | Save and Exit | Saves the file / message and exits
ESC ESC | Abort | Aborts the message, no save
ESC J | Change Subject | If editing a message, this will change the subject line.
ESC T | Change Recipient | If writing a message, this will change the person to whom the message is addressed.
ESC Z | Prefs | Enter user preferences editor. See below for details.
ESC C | Check Spelling | If a spelling checker is configured, this will check the spelling.
^X MI | Insert Mode | Toggles editing mode between INSERT (text typed is inserted into file) and OVERWRITE (text is written over existing text). Default is INSERT.
^U x | Repeat x times | Repeats the command which follows 'x' times.
^X MW | Wrap | Toggles word-wrap on and off.
^L | Redraw Screen | Re-draws the entire screen. Handy if line noise corrupts the display.
^G | Abort Command | Aborts any command sequence currently at a prompt.
ESC ! | Send broadcast message | Broadcasts a message to other users using DLG's broadcast manager.
Navigation | Key | Function | Description
Up Arrow ^P | Move up one line | Takes the cursor to the previous line.
Left Arrow ^B | Move left one character | Takes the cursor to the previous character.
Right Arrow ^F | Move right one character | Takes the cursor to the next character.
Down Arrow ^N | Move down one line | Takes the cursor to the next line.
^A | Beginning of Line | Takes cursor to beginning of line
^E | End of Line | Takes cursor to end of line.
ESC F | Forward Word | Moves the cursor to the beginning of the next word.
ESC B | Backward Word | Moves the cursor to the beginning of the previous word
^V | Forward Page | Takes the cursor to the next page.
ESC V | Backward Page | Moves cursor to previous page.
ESC P | Top of Paragraph | Takes cursor to beginning of paragraph.
ESC N | Bottom of Paragraph | Move cursor to end of current paragraph.
ESC < | Top of File | Takes cursor to the beginning of the file or message.
ESC > | End of File | Takes the cursor to the end of the file or message.
ESC G | Goto | Go to specified line number.
Editing Commands | Key | Function | Description
^K | Kill Line | Deletes the current line from the cursor all the way to the end.
^D | Delete Character | Deletes the current character under the cursor
ESC D | Delete Word Forward | Deletes the next word
ESC ^H | Delete Word Backward | Deletes the previous word
ESC A | Format Paragraph | Reformats the paragraph under the cursor, wrapping text to fit the screen.
ESC . | Set Mark | Sets a mark at the cursor position.
ESC W | Copy | Copies everything between cursor and mark (mark must be set previously).
^W | Cut | Cuts all text between cursor and mark (mark must be set previously).
^Y | Paste | Inserts data from the copy buffer at the cursor position. This includes text that has been deleted.
Quoting | Key | Function | Description
ESC Q ^Q | Quote Message | If replying to a message, this will quote the message being replied to. A quote window will open and the user can select the text to quote from that window.
^X Q | Quote All | Quotes the entire message
Search / Replace | Key | Function | Description
ESC S ^S | Search Forward | Searches the text from the cursor to end of file.
^R | Search Reverse | Searches for text from the cursor to the beginning of the file.
ESC R | Search and Replace | Searches for given text, replaces it if found.
Macros | Key | Function | Description
^X ( | Begin recording macro | Start recording a macro to use at a later time.
^X ) | End Macro | Stop recording the current macro.
^X E | Execute Macro | Executes a macro
Sysop Only | Key | Function | Description
^X ^I | Insert File | Insert a file into the current text. If the file is binary, it may be UUEncoded automatically.
^X ^W | Write File | Write the file or message to a text file on the hard drive.
^X ^P | Print | Prints the current message or file to the printer.

### Full Screen Editor User Prefs

The user has the ability to personalize how the editor looks, feels, and reacts in many ways. The user invokes the preferences editor by selecting ESC Z.

Option | Description
Colors | The user may customize the colors used for various parameters, including the color of the TO and SUBJECT line, color of text on divider bars, message text, quoted text, and command prompts. In addition to this, the "style" of the borders may be changed, with many choices from plain ASCII to fancy ANSI. Full prompts are provided.
Quote Greeting | When replying to a message, an attribution line is normally inserted at the top of any quoted material. The user can change the wording of this attribution, and even include some pre-selected text such as the name of the recipient or the subject of the message. Full prompting is provided.
Quote Prefix | When replying to a message, quoted material is normally preceeded by characters to indicate that it is quoted. The screen editor can use the name or initials of the quotee, or simply use brackets.
Word Wrap | Of most use to a sysop, the editor can be configured to turn off word wrapping when editing text files loaded from the hard drive.
Fortune Cookies | A common practice is to include a random "fortune cookie" quote at the end of a message, also known as "taglines." The screeneditor may be configured to use a number of different tagline generators. The user then has the ability to choose from whatever generators have been configured by the sysop, or none at all.