Lingua Visere Text Editor Reference Manual Version 0.12 Copyright 1986-1987, 1989, 1992 by Ammon R Campbell. All rights reserved except as stated herein. Lingua Visere is currently under development. USE AT YOUR OWN RISK. ============================================================ ACKNOWLEDGEMENTS ============================================================ AEDIT is a product of Intel Corporation. Brief is a product of and a trademark of Solution Systems Incorporated. MS-DOS is a registered trademark of Microsoft Corporation. IBM PC and IBM Personal Computer are registered trademarks of IBM Corporation. All other trademarks and/or product names are of their respective owners. ============================================================ COPYRIGHT AND LEGAL INFORMATION ============================================================ Lingua Visere release 0.12 and the accompanying documentation and materials are Copyright 1986-1987, 1989, 1992 by Ammon R. Campbell. All rights are reserved, except as stated in the following paragraph. You may use, copy, or distribute the Lingua Visere software files and the accompanying materials and documentation, hereinafter referred to as the 'SOFTWARE', provided that: (a) You include the entire unmodified software package including this document and all other accompanying documentation and materials in any copy or distribution, (b) You clearly mark any additions or alterations to the SOFTWARE as such and include prominently displayed information about how to contact the party or parties responsible for such additions or alterations in any copy or distribution, (c) You do not sell, rent, lease, trade, or otherwise exchange money, goods, or services for copies of or distributions of the SOFTWARE or otherwise use the SOFTWARE commercially with the sole exception that you may request that recipients of such copies or distributions reimburse you for media and shipping costs associated with the distribution providing these costs do not exceed ten US dollars per copy, (d) You do not take, send, or by your actions cause shipment of the SOFTWARE or any portion thereof to any country that does not recognize international copyright law, (e) You understand that the SOFTWARE is provided free of charge, "AS IS", without warranty of any kind. The author disclaims all warranties including but not limited to implied warranties of merchantability or fitness for a particular purpose. The entire risk arising out of or resulting from the use of the software and any accompanying materials rests entirely with the user. ============================================================ PRE-RELEASE NOTES ============================================================ Lingua Visere is currently under development. This means there are some known bugs, and probably some unknown bugs, in the software. USE AT YOUR OWN RISK. The known bugs include the following: * The program requires MS-DOS version 3.0 or newer to run but does not check the MS-DOS version when it starts up. Don't run the program with MS-DOS 2.1 or older. * Occasionally two lines get mysteriously concatenated. I have not yet been able to track this down because it happens very infrequently. If anyone can reliably reproduce this problem, please contact me! * If an external program executed via the editor's "!System" command changes the video mode, the editor's screen is messed up as soon as the command completes. The work-around for this problem, until I get it fixed, is to be careful what programs you run with the "!System" command. * The error messages do not always give a good indication of the error that actually occurred. For example, the error message "Error accessing edit buffer" sometimes appears when the actual error is "Out of memory." ============================================================ HOW TO CONTACT THE AUTHOR ============================================================ The author may be contacted via CompuServe mail at: 71441,2447 or UUCP mail at: ...uunet!compuserve!71441,2447 or 71441,2447@compuserve.com or ...uunet!sequent!jli!ionz!root or ...uunet!sequent!jli!ionz!ammon You may need to replace the comma in the numeric address with a period, depending on your mail system. ============================================================ INTRODUCTION ============================================================ This document describes the Lingua Visere text editor for IBM Personal Computers and compatible systems running MS-DOS. This document is geared toward users who are already familiar with basic text editing concepts and general MS-DOS usage concepts. The program's name, Lingua Visere, is taken from the Latin phrase meaning "to survey or examine human speech or the written symbols of human speech." The abbreviation LV is used to refer to the Lingua Visere text editor program throughout this document. LV is an interactive screen-oriented application for editing text files. LV allows basic editing operations to be performed, such as: * Scrolling or paging through the contents of text files on the screen. * Typing new text into a text file. * Deleting or typing over text in a text file. Several types of advanced editing operations may be performed, such as: * Searching for a string of text within a text file. * Replacing a string of text with another string. * Deleting blocks of text from a text file. * Copying blocks of text from one text file to another. * Editing several files simultaneously in moveable, sizeable windows on the screen. * Formatting paragraphs to fit user-selectable margins. The LV editor supports command formats similar to either the AEDIT text editor (a product of Intel Corporation) or the Brief text editor (a product of Solution System, Incorporated). Either form may be selected by changing the "emulation" setting in the configuration file (described later). Note that the terms "buffer", "edit buffer", and "document" are used interchangeably. ============================================================ INSTALLATION ============================================================ The LV text editor may be installed on an IBM PC compatible computer providing it has a hard disk drive, at least 384K of free memory, and a CGA, EGA, VGA, standard monochrome or compatible display adapter, and is running MS-DOS version 3.0 or newer. Since LV stores text files in memory, a system with more free memory will allow larger files to be edited. To install the software, copy the files "LV.EXE" and "LV.CFG" into a suitable directory on the hard disk and make sure the directory is accessible through the MS-DOS PATH environment variable. For more information on the PATH environment variable, consult your MS-DOS manual. ============================================================ INVOCATION ============================================================ The LV text editor is invoked by typing the command "LV" at the MS-DOS prompt. If LV is invoked with no command line arguments, an empty edit buffer is opened an given the name "", unless the editor has been previously run with the "savestate" setting enabled, in which case the files that were loaded into the editor the last time it was used will be loaded automatically (this is explained in more detail later). The command line option '-n' may be specified, in which case LV will not restore the state information previously saved. If LV is invoked with filename arguments, it will attempt to read the named files into edit buffers in memory. If the specified files are not found, empty buffers with the specified names will be opened instead. Wildcard filenames may be used as command line arguments, in which case LV will attempt to read each matching file into memory. If the number of the specified files exceeds the editor's maximum limit of thirty-two buffers, an error message will be displayed and the editor will terminate. Similarly, if the size of the specified files exceeds the capacity of available memory, an error message will be displayed and the editor will terminate. ============================================================ THE SCREEN ============================================================ While the editor is running, the screen is divided into three parts: The status line, the prompt line, and the editing area. THE STATUS LINE The status line displays information about the buffer currently being edited. The information displayed generally includes the current window number, the current buffer number, the current line number, the current column number, and the current buffer name. The status line is displayed at the bottom-most line of the screen. THE PROMPT LINE The prompt line displays information about what input the editor is currently expecting from the keyboard. If AEDIT emulation mode is selected, this is typically a menu. If Brief emulation mode is selected, this is typically a prompt indicating that the editor is in Brief emulation mode. The prompt line is displayed immediately above the status line. THE EDITING AREA The editing area includes the remainder of the screen not occupied by the status line and prompt line, and may contain one or more windows, each of which typically contains the text of an edit buffer. Each window may have a border drawn around it depending on the "useborder" setting in the editor configuration file (described later). ============================================================ AEDIT EMULATION MODE ============================================================ DIFFERENCES FROM AEDIT The LV editor has advantages and disadvantages when compared to Intel's AEDIT text editor. Advantages: * More than two files can be edited simultaneously. * Screen sizes larger than 80 x 25 characters are allowed if the display adapter supports it. * More than two windows are allowed. * A window may be any size at any position on the screen, rather than being restricted to the full width of the screen split vertically. * The maximum length of a line is 16384 characters instead of 255 characters. * Marked blocks are hilited in the text. * Marked blocks can be cleared, indented, or trimmed. Disadvantages: * File size is limited to available memory. * Macros are not supported. Since AEDIT-style fetch operations depend on macros, LV also does not support fetch operations. * The AEDIT "calc" mode is not supported. * The repeat function only works with the find and replace functions. * The Undo function is not supported. * The Viewrow and View functions are not supported. * LV does not display strings during a find or replace, so the AEDIT "showfind" setting is not available. * The AEDIT "autonl" feature is not supported. * The AEDIT "highbit" feature is not supported. LV always displays every character. * The "indent" feature is not supported. Miscellaneous other differences from AEDIT: * The AEDIT "set-leftcol" command is not supported since LV automatically scrolls the document so that the cursor is visible on the screen. * Column positions are measured in logical characters rather than physical characters, meaning that a tab is treated as one column by LV even though it may physically be several character cells wide. * Since LV allows more than two files to be edited, the "other" command switches to the next buffer in the editor's buffer list, rather than switching between two files as in AEDIT. * A slash (/) must be typed before a numeric repeat count can be entered for a repeat find or replace. AEDIT does not need the initial slash. A slash with no numeric count performs a "repeat until end of buffer" operation just as AEDIT does. CURSOR MOVEMENT The position of the cursor indicates the current position in the edit buffer displayed in the currently active window. Several keys may be used to move the cursor to different locations in the edit buffer, as shown in the table below. Key Description -------------- ----------------------------------------- Up Arrow Moves the cursor up one line. Down Arrow Moves the cursor down one line. Left Arrow Moves the cursor left one character. Right Arrow Moves the cursor right one character. PageUp Moves the cursor up one page. PageDown Moves the cursor down one page. Home The action performed by the Home key depends on the last key that was pressed. If the last key was not an arrow key, the Home key performs no action. If the last key was an arrow key, the home key moves the cursor in the direction indicated by the last arrow key until the end of a line is reached (in the case of Left or Right arrow), up a page (in the case of Up Arrow), or down a page (in the case of Down Arrow). THE AEDIT MENUS When the editor is invoked in AEDIT emulation mode, it displays the command menu and waits for input from the keyboard. The command menu is displayed on the prompt line and shows abbreviations for each of the available commands. Usually, each command is invoked by typing the first letter of the command name. Each of the commands is described in following sections of this document. Several commands have their own menus which are described later. Several commands enter different modes, such as block mode, insert mode, and overtype mode; these are also described later. Unless otherwise stated, a menu or mode is exited by pressing the Escape key. Some menus have more commands than can be displayed at once on the prompt line. Pressing the tab key will scroll through the displays of the commands available at each menu. THE BACKSPACE KEY When the editor is in command or insert mode, the Backspace key deletes the character preceeding the cursor position and moves the cursor backwards. When the editor is in overtype mode, the backspace key simply moves the cursor backwards. THE DELETE KEY When the editor is in command or insert mode, the Delete key deletes the character at the cursor position. When the editor is in block mode, the Delete key deletes the first character of each line in the block. THE ENTER KEY When the editor is in insert mode, the ENTER key inserts a blank line into the edit buffer at the cursor position and moves the cursor to the start of the blank line. In overtype mode the ENTER key simply moves the cursor to the beginning of the next line. THE "AGAIN" COMMAND The "Again" command is invoked by pressing the 'a' key from the command menu. "Again" repeats the last command that was invoked. THE "BLOCK" COMMAND The "Block" command is invoked by pressing the 'b' key or the 'd' key from the command menu. "Block" marks the beginning of a block of text and displays a menu of commands that may be performed on the marked block. The cursor may be moved to adjust the ending position of the block. From the block menu, the following commands are available: "BUFFER" copies the marked block to the clipboard buffer. "CLEAR" deletes the marked block from the document. "DELETE" deletes the marked block from the document and copies it to the clipboard buffer. "FIND" performs the same operation as the "FIND" command from the command menu, but leaves the block marked after the find is complete. "-FIND" performs the same operation as the "-FIND" command from the command menu, but leaves the block marked after the find is complete. "JUMP" performs the same operation as the "JUMP" command from the command menu, but leaves the block marked after the jump is complete. "PUT" prompts for a filename and then writes the marked text to the specified file. "TAB" inserts a tab at the beginning of each line in the marked block. Pressing the Delete key deletes the first character of each line in the marked block. Pressing the spacebar inserts a space at the beginning of each line in the marked block. THE "FIND" COMMAND The "Find" command is invoked by pressing the 'f' key from the command menu. "Find" searches forward in the current buffer for a particular string, as follows: * The editor asks what string to search for and waits for a string to be entered at the prompt line. * The editor searches forward starting at the current cursor position until either the specified string is found or the end of the buffer is reached. * If the string is found, the cursor is moved to the end of the matched string. * If the string is not found, an error message is displayed. If "Find" is reinvoked with the "Again" command, it will search for the next occurrence of the same string. THE "-FIND" COMMAND The "-find" command is invoked by pressing the '-' key from the command menu. "-find" searches backward in the current buffer for a particular string, as follows: * The editor asks what string to search for and waits for a string to be entered at the prompt line. * The editor searches backward starting at the current cursor position until either the specified string is found or the beginning of the buffer is reached. * If the string is found, the cursor is moved to the start of the matched string. * If the string is not found, an error message is displayed. If "-find" is reinvoked with the "Again" command, it will search backward for the next occurrence of the same string. THE "GET" COMMAND The "Get" command is invoked by pressing the 'g' key from the command menu. "Get" inserts either a file or the contents of the clipboard buffer at the current cursor position of the current buffer. "Get" asks what to get and waits for a response at the prompt line. If no filename is entered, the contents of the clipboard buffer are inserted into the current buffer at the current cursor position. If a filename is entered, the contents of the specified file are inserted into the current buffer at the current cursor position. THE "HEX" COMMAND The "Hex" command is invoked from the command menu by pressing the 'h' key from the command menu. "Hex" displays a menu of the following commands: "Input" reads a hexadecimal number from the keyboard and then inserts the equivalent character into the document. "Output" displays the hexadecimal and decimal values of the character under the cursor. THE "INSERT" COMMAND The "Insert" command places the editor into insert mode. "Insert" is invoked by pressing 'I' from the command menu. While in insert mode, typing characters inserts the characters into the edit buffer at the current position. The cursor movement keys still perform their normal functions. While in insert mode, the message "INSERT" is displayed at the prompt line. The Escape key is used to exit insert mode and return to command mode. THE "JUMP" COMMAND The "Jump" command is invoked by pressing the 'j' key from the command menu. "Jump" displays a menu of the following commands: "A_tag" moves the cursor to the position in the document previously tagged with the "Tag A_tag" command. "B_tag" moves the cursor to the position in the document previously tagged with the "Tag B_tag" command. "C_tag" moves the cursor to the position in the document previously tagged with the "Tag C_tag" command. "D_tag" moves the cursor to the position in the document previously tagged with the "Tag D_tag" command. "Start" moves the cursor to the beginning of the document. "End" moves the cursor to the end of the document. "Line" prompts for a line number and then moves the cursor to the specified line in the document. "Position" prompts for a column number and then moves the cursor to the specified column on the current line. THE "OTHER" COMMAND The "Other" command is invoked by pressed the 'o' key from the command menu. "Other" switches from the edit buffer currently displayed in the current window to the next edit buffer in memory. For example, if three files, "DOC1.TXT", "DOC2.TXT", and "DOC3.TXT", are loaded in memory, and "DOC2.TXT" is displayed in the current window, invoking the "Other" command switches to "DOC3.TXT" in the current window, which would then be displayed in the current window. THE "PARAGRAPH" COMMAND The "Paragraph" command is invoked by pressing the 'p' key from the command menu. "Paragraph" displays a menu with the following commands: "Fill" formats the current paragraph to fit the current margins without justifying the text. "Justify" formats and justifies the current paragraph to fit the current margins. A paragraph is defined as a sequence of lines terminated by an empty line. THE "QUIT" COMMAND The "Quit" command is invoked by pressing the 'q' key from the command menu. "Quit" displays a menu with the following commands: "Abort" leaves the editor. If any buffers are unsaved, the editor will prompt before terminating. "Close" closes the current buffer and returns to the command menu. "Exit" saves the current buffer and leaves the editor. If any other buffers are unsaved, the editor will prompt before terminating. "Init" discards the contents of the current buffer, prompts for a filename, and loads the specified file into the current buffer. If the current buffer is unsaved, the editor will prompt before discarding it. "Name" prompts for a name and then changes the name of the current buffer to the specified name. "Open" displays a list of files, waits for a file to be selected from the list, and then creates a new buffer containing the selected file. "Set-Emulation" displays a menu of the following commands: "0=quit" quits the editor without saving any buffers. "1=AEdit" returns to AEDIT emulation mode. "2=Brief" enters Brief emulation mode. "Update" saves the contents of the current buffer and then returns to the command menu. "Write" prompts for a filename, saves the contents of the current buffer to the specified file, and then returns to the command menu. "eXit" saves all unsaved buffers and leaves the editor. THE "REPLACE" COMMAND The "Replace" command is invoked by pressing the 'r' key from the command menu. "Replace" searches forward in the current buffer for a particular string and replaces it with a different string, as follows: * The editor asks what string to search for and waits for a string to be entered at the prompt line. * The editor asks what string to replace with and waits for a string to be entered at the prompt line. * The editor searches forward starting at the current cursor position until either the specified string is found or the end of the buffer is reached. * If the string is found, it is deleted and replaced by the new string. * If the string is not found, an error message is displayed. If "Replace" is reinvoked with the "Again" command, it will search for the next occurrence of the same string and replace it. THE "?REPLACE" COMMAND The "?replace" command is invoked by pressing the '?' key from the command menu. "?replace" performs the same operation as the "Replace" command, except that it asks if it is OK to perform the replacement when the search string is found. THE "SET" COMMAND The "Set" command is invoked by pressing the 's' key from the command menu. "Set" displays a menu with the following commands: "Bak_file" prompts whether the editor should create backup files when buffers are saved, and sets the editor's backup files flag to the specified mode. "Case" prompts whether find and replace operations should be case sensitive, and sets the editor's case sensitivity flag to the specified mode. "E_delimit" prompts for a string of delimiter characters and changes the editor's delimiter set to the specified characters. "K_token" prompts whether the find and replace operations should only find token (delimited) strings, and sets the editor's token match flag to the specified mode. "Margins" prompts for margin settings and sets the editor's margins to the specified values. "Notab" prompts whether to fill tabs with spaces, and sets the editor's tab filling flag to the specified mode. "Tabs" prompts for the tab width and sets the editor's tab width to the specified value. THE "TAG" COMMAND The "Tag" command is invoked by pressing the 't' key from the command menu. "Tag" displays a menu with the following commands: "A_tag" marks the current position in the document so that it can be returned to with the "Jump A_tag" command. "B_tag" marks the current position in the document so that it can be returned to with the "Jump B_tag" command. "C_tag" marks the current position in the document so that it can be returned to with the "Jump C_tag" command. "D_tag" marks the current position in the document so that it can be returned to with the "Jump D_tag" command. Each document has its own tag settings. THE "VERSION" COMMAND The "Version" command displays the editor name and version number on the screen and waits for a key to be pressed before returning to editing. THE "WINDOW" COMMAND The "Window" command allows windows to be manipulated. "Window" is invoked by pressing the 'w' key from the command menu. "Window" displays a menu with the following commands: "Buffer" displays a list of the open buffers, waits for a buffer to be picked from the list, and switches the current buffer to the specified buffer. "Create" creates a new window. The new window will have no buffer associated with it until its current buffer is changed with the "Window Buffer" command. If eight windows already exists, nothing will happen. "Destroy" destroys the current window. The buffer associated with the destroyed window is not closed. "Horizontal" resizes and moves the windows so they are arranged horizontally on the screen. If too many windows are open to fit in a horizontal arrangement, nothing will happen. "Move" displays the a menu with the following commands: "Narrower" decreases the width of the current window by one column. "Shorter" decreases the height of the current window by one line. "Taller" increases the height of the current window by one line. "Wider" increases the width of the current window by one column. While the "Window Move" menu is displayed, the up, down, right, and left arrow keys may be used to position the window on the screen. Pressing the escape key exits the "Window Move" menu and returns to the command menu. "Next" switches the current window to the next window in the editor's window list. If borders are enabled, each window displays its window number near the upper left of the border. "Stacked" resizes and moves the windows so they are arranged in an offset stack on the screen. "Vertical" resizes and moves the windows so they are arranged vertically on the screen. If too many windows are open to fit in a vertical arrangement, nothing will happen. The editor allows up to eight windows to exist. THE "EXCHANGE" COMMAND The "eXchange" command places the editor into overtype mode. "eXchange" is invoked from the command menu by typing the 'X' key. While in overtype mode, typing characters overwrites the characters in the edit buffer at the current position. The cursor movement keys perform their normal functions. While in overtype mode, the message "OVERTYPE" is displayed at the prompt line. The Escape key is used to exit overtype mode and return to command mode. THE "/REPEAT" COMMAND The "/Repeat" command allows a find or replace operation to be performed repeatedly. "/Repeat" is invoked by pressing the '/' key from the command menu. "/Repeat" displays a menu with the following commands: "FIND" performs the same operation as "FIND" from the command menu, except the operation is repeated according to the current repeat count. "-FIND" performs the same operation as "-FIND" from the command menu, except the operation is repeated according to the current repeat count. "REPLACE" performs the same operation as "REPLACE" from the command menu, except the operation is repeated according to the current repeat count. "?REPLACE" performs the same operation as "?REPLACE" from the command menu, except the operation is repeated according to the current repeat count. The default repeat count is "repeat until end of document". Typing digits while the "/Repeat" menu is displayed changes the repeat count to the specified value. THE "!SYSTEM" COMMAND The "!System" command is invoked by pressing the '!' key from the command menu. "!System" allows an MS-DOS command to be executed while the editor is running. "!System" waits for a command string to be entered on the prompt line, and then passes the command to MS-DOS to be executed. When the command is finished, the editor waits for a key to be pressed and then returns to the command menu. ============================================================ BRIEF EMULATION MODE ============================================================ DIFFERENCES FROM BRIEF The LV editor is at best a marginal subset of Solution System's Brief text editor. The Brief emulation mode is provided so that users who are familiar with Brief will be able to perform rudimentary editing tasks with LV without having to learn a new command set. Generally, LV lacks the following features supported by Brief: * The concept of "virtual space" in a document is non- existant. The cursor may not be moved outside the existing text with the sole exception that the cursor may move one line past the end of the edit buffer. * There is no facility for "undoing" edits or keystrokes. * Regular expressions for the find and replace functions are not supported. * File size is limited to available memory. * The replace backwards function is not supported. * Macros are not supported. * Keystroke recording is not supported. * The order in which windows are stacked on the screen is not adjustable. CURSOR MOVEMENT The position of the cursor indicates the current position in the edit buffer displayed in the currently active window. Several keys may be used to move the cursor to different locations in the edit buffer, as shown in the table below. Key Description -------------- ----------------------------------------- Up Arrow Moves the cursor up one line. Down Arrow Moves the cursor down one line. Left Arrow Moves the cursor left one character. Right Arrow Moves the cursor right one character. PageUp Moves the cursor up one page. PageDown Moves the cursor down one page. CTRL-Home Moves the cursor to the top of the window. CTRL-End Moves the cursor to the bottom of the window. CTRL-PageUp Moves the cursor to the start of the edit buffer. CTRL-PageDown Moves the cursor to the bottom of the edit buffer. HOME The action performed by the Home key depends on the last key pressed. If Home is pressed once, the cursor moves to the start of the current line. If Home is pressed again, the cursor moves to the top of the window. If Home is pressed again, the cursor moves to the start of the edit buffer. END The action performed by the End key depends on the last key pressed. If End is pressed once, the cursor moves to the end of the current line. If End is pressed again, the cursor moves to the bottom of the window. If End is pressed again, the cursor moves to the bottom of the edit buffer. CTRL-Left Moves the cursor to the previos word. CTRL-Right Moves the cursor to the next word. TYPING IN BRIEF EMULATION MODE In Brief emulation mode, most keys simply enter the corresponding character into the edit buffer at the current position. However, some keys invoke editor functions. These keys are described in the following paragraphs. PLACE BOOKMARK A bookmark (or tag) is placed by pressing the ALT key and a number key (zero through nine) to identify the bookmark. Once a bookmark has been placed, the jump to bookmark command can be used to quickly move the cursor to the bookmark position. JUMP TO BOOKMARK Pressing ALT-J followed by a number key (zero through nine) moves the cursor to the corresponding bookmark position in the edit buffer. JUMP TO LINE NUMBER Pressing ALT-G and then entering a line number moves the cursor to the specified line number in the edit buffer. Lines are numered starting with line number zero. BACKSPACE Typing a backspace moves the cursor back one character and deletes the character under the cursor. DELETE Typing the Delete key deletes the character under the cursor. If a block is marked, pressing the delete key erases the marked block. DELETE LINE Typing ALT-D deletes the current line from the edit buffer. INSERT LITERAL KEY Typing ALT-Q followed by another key inserts that key into the edit buffer at the current position. This is useful for inserting keys that would ordinarily invoke editor functions into the edit buffer. CUT TO CLIPBOARD Pressing the Minus (-) key on the number pad deletes the marked block and places a copy of the deleted text into the clipboard buffer. If no block is marked, the current line is deleted and copied to the clipboard buffer. COPY TO CLIPBOARD Pressing the Plus (+) key on the number pad places a copy of the text of the marked block into the clipboard buffer. If no block is marked, the current line is copied to the clipboard buffer. PASTE FROM CLIPBOARD Pressing the Insert key inserts the contents of the clipboard buffer into the edit buffer at the current position. TOGGLE INSERT Typing ALT-I toggles insertion on and off. When insertion is on, characters typed are inserted into the edit buffer. When insertion is off, characters are typed over existing characters in the edit buffer. BEGIN BLOCK Typing ALT-L or ALT-M marks the beginning of a block. Certain operations may only be performed on blocks. Note that there is no distinction between different types of blocks as in Brief (i.e. line block, mark block, column block, etc). All marked blocks are regular marked blocks. WRITE BLOCK TO FILE Typing ALT-W prompts for a filename and then writes the currently marked block to the specified file. READ BLOCK FROM FILE Typeing ALT-R prompts for a filename and then inserts the contents of the specified file at the current position. INDENT BLOCK While a block is marked, typing a tab or space inserts a tab or space at the beginning of each line in the marked block. PICK BUFFER Typing ALT-B brings up the buffer list, from which a buffer can be picked by using the up/down arrow keys and the ENTER key. If a buffer is selected from the list, it becomes the current buffer, and is displayed in the currently active window. Note that buffers cannot be deleted from the buffer list by pressing the Delete key as in Brief. CLOSE CURRENT BUFFER Typing CTRL-minus closes the current buffer if it has not been modified. CHANGE BUFFER NAME Typing ALT-O prompts for a name and then changes the name of the current buffer to the specified name. NEXT BUFFER Typing ALT-N changes the current buffer to the next buffer in the buffer list. PREVIOUS BUFFER Typing ALT-minus changes the current buffer to the previous buffer in the buffer list. LOAD NEW BUFFER Typing ALT-E prompts for a filename and then loads the specified file into a new buffer which is assigned to the current window. SEARCHING Typing ALT-S or F5 invokes the find command, which prompts for a string to find and then searches forward from the current position until the specified string is found. Typing SHIFT-F5 searches for the next occurance of the same string. Typing ALT-F5 invokes the find backwards command, which prompts for a string to find and then searches backward from the current position until the specified string is found. REPLACING Typing ALT-T or F6 invokes the replace command, which prompts for a string to find and a string to replace with, searches forward from the current position until the first string is found, and replaces it with the second string. Typing SHIFT-F6 replaces the next occurance of the same string. CREATE WINDOW Pressing F3 creates a new window. Note that there is a limit of eight simulataneous windows. The new window becomes the active window, and has an empty buffer associated with it. DESTROY WINDOW Pressing F4 destroys the active window. Note that the buffer associated with the destroyed window is not closed. NEXT WINDOW Pressing F1 changes from the current window to the next window in the window list, making it the active window. EXECUTE DOS COMMAND Pressing F9 and then typing a DOS command at the prompt line causes the specified DOS command to be executed. After executing the DOS command, the editor will wait for a key to be pressed before returning to the editing screen. SHOW VERSION Typing ALT-V displays the program name and version number on the screen. EXIT Typing ALT-X leaves the editor. If any buffers are unsaved, a prompt will allow returning to the editor, discarding all buffers and exiting, or saving all buffers and exiting. REPEAT Typing CTRL-R repeats the action of the last key that was typed. CHANGING EMULATION Typing ALT-F10 displays a menu with the following options: "0=quit" leaves the editor without saving any buffers. "1=AEdit" leaves Brief emulation mode and enters AEDIT emulation mode. "2=Brief" returns to Brief emulation mode. ============================================================ THE EDITOR CONFIGURATION FILE ============================================================ The editor configuration file is named "LV.CFG" and contains configuration information that can be used to alter the way the editor behaves. The file may be located in the current directory or any directory listed in the MS-DOS PATH environment variable at the time the editor is invoked. The file is an ordinary textfile that contains a series of settings and comments. Each line that begins with a '#' character is a comment, and is ignored by the editor. Any other non-blank line is assumed to contain a setting. Each setting is exactly one line long, and is of the general form: setting_name=setting_value Each of the settings is described below. The editor will not run if any of the settings are missing from the file. The "emulation" setting The "emulation" setting determines the default editor emulation mode. This may be set to "AEDIT" for AEDIT emulation mode, or "Brief" for Brief emulation mode, or "NONE" to prompt for an emulation mode when the editor is first invoked. For example: emulation=aedit sets the default emulation to AEDIT mode. emulation=brief sets the default emulation to Brief mode. emulation=none sets no default emulation mode, which causes the editor to prompt for an emulation when first invoked. The "tabwidth" setting The "tabwidth" setting determines the default width of each tabstop (in character cells). For example: tabwidth=8 sets the default tab width to eight character cells. The "fastvideo" setting The "fastvideo" setting determines how the editor displays information to the screen. If set to 0, the editor will use the PC video BIOS (interrupt 10h) functions to write to the screen. If set to 1, the editor will directly access the video frame buffer memory to write to the screen. Direct access to the video frame buffer results in faster video performance but may not be compatible with some display controllers. Examples: fastvideo=0 selects PC video BIOS mode. fastvideo=1 selects direct video frame buffer mode. The "smartupdate" setting The "smartupdate" setting can be used to allow the cursor to move faster than the screen is able to update. This is useful for using a fast keyboard repeat rate on a system that can't draw text very fast. If "smartupdate" is set to one, the contents of the current window on the screen are updated only when the keyboard is not busy. If "smartupdate" is set to zero, the contents of the current window are updated each time the cursor moves. Examples: smartupdate=1 selects smart update mode. smartupdate=0 selects normal update mode. The "videomode" setting The "videomode" setting determines what video mode the editor uses when running on a color display adapter. This setting is ignored when running on a monochrome display adapter. If set to -1, the video mode in effect at the time the editor is invoked is left unchanged. If set to a number other than -1, the editor will use the IBM PC video BIOS to switch to the specified mode number. For example: videomode=-1 selects the video mode in effect at the time the editor is invoked. videomode=3 selects 80 column color text mode on most display adapters. The "videofont" setting The "videofont" setting determines which font the editor uses when running on a color display adapter. This setting is ignored when running on a monochrome display adapter. If set to -1, the font in effect at the time the editor is invoked is left unchanged. If set to a number other than -1, the editor will use the IBM PC video BIOS to switch to the specified font. For example: videofont=-1 selects the font in effect at the time the editor is invoked. videofont=0 selects the CGA 8 x 8 pixel font on most display adapters. videofont=1 selects the EGA 8 x 14 pixel font on most EGA and VGA display adapters. videofont=2 selects the VGA 8 x 16 pixel font on most VGA display adapters. The "filltabs" setting The "filltabs" setting determines if tabs are typed into an edit buffer as tab characters or sequences of space characters. If set to 1, the editor will insert spaces each time a tab is typed into an edit buffer. If set to 0, the editor will insert a tab character each time a tab is typed into an edit buffer. Examples: filltabs=0 specifies that tabs will be filled with spaces. filltabs=1 specifies that tabs will be entered as tabs. The "use_borders" setting The "use_borders" setting determines if the editor draws a border around each window on the screen. If set to 1, each window will have a border. If set to 0, each window will not have a border. This allows the full width of the screen to be used for display of edit buffer text, but makes it difficult to distinguish one window from another. Examples: use_borders=1 specifies that windows will be drawn with borders. use_borders=0 specifies that windows will be drawn without borders. The "bignewlines" setting The "bignewlines" setting determines if newlines typed into an edit buffer are entered into the edit buffer as a line-feed character or as a carriage-return/line-feed character pair. If set to 1, typing a newline will enter a carriage-return and a line-feed into the edit buffer. If set to 0, typing a newline will enter only a line-feed into the edit buffer. Examples: bignewlines=1 specifies that a newline consists of a carriage-return and a line-feed. bignewlines=0 specifies that a newline consists of a line-feed. The "eobmark" setting The "eobmark" setting determines what character the editor displays in a window to indicate lines that are beyond the end of an edit buffer. The setting is the decimal character value of the character to be displayed, and is 7 in the default "LV.CFG" file. Example: eobmark=7 The "savestate" setting The "savestate" setting determines whether the editor will save its state each time it terminates. If set to 1, the editor will create a file called "lingua.sav" in the current directory which contains information that the editor can use to automatically reload the same files into the same windows the next time the editor is invoked. If set to 0, the "lingua.sav" file will not be created. Examples: savestate=1 enables saving of the editor state to "lingua.sav". savestate=0 disables saving of the editor state. The "bakfiles" setting The "bakfiles" setting determines whether the editor creates backup files when an edit buffer is saved. If set to 1, the editor will save the original file to a backup file with the file extension ".BAK" when the edit buffer containing the file is saved. If set to 0, the editor will overwrite the original file when the edit buffer containing the file is saved. Examples: bakfiles=1 specifies that ".BAK" files will be created. bakfiles=0 specifies that ".BAK" files will not be created. The "caseon" setting The "caseon" setting determines whether strings searched for by the editor's find and replace functions are case sensitive or not. If set to one, these strings are case sensitive. If set to zero, these strings are not case sensitive. For example: caseon=1 selects case sensitive mode. caseon=0 selects case insensitive mode. The "paraindent" setting The "paraindent" setting specifies the number of columns to indent the first line of each paragraph that is formatted by the editor's paragraph formatting functions. For example: paraindent=5 sets the first line indent to five columns. The "paraleft" setting The "paraleft" setting specifies the number of columns to indent all but the first line of each paragraph that is formatted by the editor's paragraph formatting functions. For example: paraleft=3 sets the paragraph indent to three columns. The "pararight" setting The "pararight" settings specifies the right margin for each paragraph that is formatted by the editor's paragraph formatting functions. For example: pararight=60 sets the right margin to sixty columns. The "delimiters" setting The "delimiters" setting specifies the characters which may be used to delimit a string matched by the editor's find and replace functions if the "findtokens" setting is enabled (set to one). The string may include any characters except carriage-return and line-feed, which are automatically treated as delimiters. For example: delimiters=!"#%&'()*+,-./:;<=>?@[\]^`{|}~ The "findtokens" setting The "findtokens" setting determines whether strings searched for by the editor's find and replace functions must be delimited by a character from the delimiter set or not. If set to one, these strings must be delimited. If set to zero, these strings need not be delimited. For example: findtokens=1 selects delimited mode. findtokens=2 selects undelimited mode. The screen color settings The screen color settings determine the colors used when the editor writes text to the screen. All of the color settings must be defined in the configuration file. Each of these settings is set to a number between zero and fifteen inclusive which selects one of the sixteen color attributes normally available on IBM PC type display adapters. The color settings are described in the table below. Name Description ----------- ------------------------------------------- cf_screen Foreground color of any unused portions of the screen. cb_screen Background color of any unused portions of the screen. cf_edit Foreground color of the currently active window. cb_edit Background color of the currently active window. cf_mark Foreground color of marked text. cb_mark Background color of marked text. cf_inactive Foreground color of currently inactive windows. cb_inactive Background color of currently inactive windows. cf_border Foreground color of window borders. cb_border Background color of window borders. cf_error Foreground color of error messages. cb_error Background color of error messages. cf_prompt Foreground color of prompts. cb_prompt Background color of prompts. cf_status Foreground color of the status line. cb_status Background color of the status line. For example: cf_screen=7 cb_screen=0 cf_edit=14 cb_edit=1 cf_mark=0 cb_mark=7 cf_inactive=14 cb_inactive=7 cf_border=15 cb_border=1 cf_error=15 cb_error=4 cf_prompt=15 cb_prompt=3 cf_status=15 cb_status=2 == End of document ==