V(edit) v4.0.0k John O'D Rooney [Use 'TAB' to move the highlight.] Keys Commands Movement Keys Editing Delete Keys Search/Replace Text Formatting Cut Paste Place Marking Text Marking About V(edit) V(edit) v4.0.0k (C)opyright John O'D Rooney 1993,94. V(edit) is a fast, multi-file, programmers editor. It will run in a limited amount of memory without penalty, each file using only the amount of memory that it needs, and in no case using more than 64K. If the file is bigger than 64K, V(edit) automatically switches to a virtual memory mode to handle the file. The maximum single file size that can be edited is 2MB, and the program can handle multiple files of that size without slowing down. # V(edit) uses windows to display the files in the edit buffers. There can be multiple windows open at the same time. A Setup Options command allows the user to select from various colour or black/white combinations. The windows can be overlapped, shrunk, zoomed, cascaded or tiled. Text can be cut or copied from a window to another window. A 'Read Only' file can be opened for viewing only. A complete Help system is provided, with help on all menu items via the F1 key, and an extensive Search facility covering all keys, commands and features. A WorkSpace Save/Restore facility is included, allowing the user to save and restore complete workspaces in named files. A prompted Clear WorkSpace command is included to close down all files in the editor. Each file that is being edited has its own mode, bookmarkers and anchors. In fact, you can consider that each file being edited is completely stand-alone, with the only link to other files being via the clipboard system. w Full mouse support is provided. This support includes the selection, sizing and moving of windows, cursor placement and text selection, and complete menu and dialog box support. The mouse is active within the Help Display, and topics can be selected with a single click or activated with a double click. Vertical and Horizontal scroll bars are provided in the Help display. Enhancements include automatic brace placement and indenting for C source and header files (.c, .h, .cxx, .hxx, .cpp and .hpp), complete literal string editing and full forward and reverse brace-matching on all types of braces. The search function has been enhanced to cope with otherwise illegal characters, and a 'grep' style Regular Expression search has been included. Auto switching for soft tabs is provided, *.doc and *.txt files use hard tabs, all other files use soft tabs. A DeTab function is provided. A wordwrap mode is available and a 'wrap paragraph' function is also included. The word wrap right margin can be set via the Setup/Margin menu item. Paragraph wrapping (re-formatting) is aware of the Indent mode as well as the wordwrap margin, and will strip out all extra spaces. D Both keystroke macros and keystroke repeat commands are supported. INDEX ALT KEYS: FUNCTION alt A Anchor down alt B alt C Capitalise letter alt D Desktop menu alt E Edit menu alt F File menu alt G Goto line alt H Hide mark alt I Toggle autoIndent mode alt J alt K Kill trailing spaces alt L Lowercase word alt M Set Mark alt N alt O Toggle Overwrite mode alt P Pull character down alt Q alt R alt S Setup menu alt T alt U Uppercase word alt V View 25/43 lines alt W Toggle Wrap mode alt X EXit alt Y Delete to end of line alt Z Swap user anchor/cursor CONTROL KEYS ^A To first char on line ^C Center cursor line ^F metakey (find) ^F+1 Find bookmark 1 ^F+2 Find bookmark 2 ^F+[ Find brace ^F+] Find brace ^F+up Find screen top ^F+down Find screen bottom ^F spacebar Find next space right ^I Tab ^K metakey (set) ^K+1 Set bookmark 1 ^K+2 Set bookmark 2 ^L Last search/replace ^M Newline ^Q Insert literal char ^R Replace ^S Search ^T Transpose chars ^U Undo ^W Wrap paragraph from cursor ^X Dos Shell ^Y Delete Line ^Z Swap system anchor/cursor ^BS Delete to start of line ^Del Delete to start of next word FUNCTION KEYS F1 Help F2 Save File F3 Open File Alt F3 Close File F4 Search Ctrl F4 Search/Replace F5 Zoom Window Ctrl F5 Size/Move Window Sh F5 Tile Window Alt F5 Cascade Window F6 Next Window Sh F6 Previous Window F7 Start Macro Recorder F8 Stop Macro Recorder F9 Replay Macro F10 Menu OTHER KEYS esc Repeat n times home Beginning of line ^home Scroll up end End of line ^end Scroll down PgUp Up one page PgDn Down one page ^PgUp Top of file ^PgDn End of file gray- Cut gray+ Copy insert Paste delete Delete at cursor or delete marked area ^delete Delete to start of next word or delete marked area right Char right ^right Word right left Char left ^left Word left BS Delete char left ^BS Delete to start of line INDEX SETUP This menu offers choices for Global settings and window settings. The Global settings include screen colour, soft tabs and file backup. The Global settings can be saved, and will then be active when the editor is started. INDEX SAVE OPTIONS This menu choice saves the Global options to a file 'V(edit).cfg', which is stored in the current directory. This file is read, if it exists, when V(edit) starts up, and the settings from the file are used. If a configuration file does not exist in the current directory, a default configuration is used. INDEX DESKTOP MENU This menu provides menu access to the window selection and movement commands. It also offers choices for saving and restoring named workspaces. INDEX EDIT MENU This menu offers choices for general editing functions including searching and replacing, going to a line number and undo. A Filters sub-menu is also available. INDEX MARKING TEXT Alt M Set Mark Alt H Hide Mark Text can be marked for cutting to the Clipboard and copying to the Clipboard. The start of the region can be marked by Alt M, and the cursor is then moved to the end of the region, in either a forward or backward direction. The marked area is highlighted. The highlight can be removed by Alt H. ShiftKey Set Mark The region can also be marked by depressing the Shift key and moving the cursor. If the Shift key is released, further cursor movement will unmark the region. MARKING TEXT WITH THE MOUSE The mouse can be used to mark text. { [1] Dragging the mouse with the left button pressed will mark the text from the point where the button was first pressed. R [2] Placing the cursor on a line and double-clicking will select the whole line. [3] Holding down the Shift key while clicking will select all of the text between the original cursor position and the new cursor position. Repeating this action will extend the selection. The mouse selection behaves as though the region was selected using the Shift key, ie. any subsequent cursor movement will unmark the text. INDEX PLACEMARKING BOOKMARKS There are two methods of placemarking in V(edit). The first is static, and makes use of 'bookmarks'. There are two bookmarks available, and these can be inserted by using Ctrl-K 1, and Ctrl-K 2. They can be inserted anywhere in the text and they remain permanent, until they are used in another place. If the 'save workspace' feature is used, the bookmarks are also saved. The keys for returning to the bookmarked locations are Ctrl-F 1 and Ctrl-F 2. ANCHORS The second placemarking method is dynamic, and the location is not saved when the workspace is saved. This method uses 'anchors'. There are two anchors available, a 'user' anchor and a 'system' anchor. B The user anchor is 'dropped' at the location you want to mark by using Alt A. To return to the marked position (the user anchor), use Alt Z. This key moves the cursor to the anchor position, then swaps the anchor to the position where Alt Z was pressed. Continued use of Alt Z swaps the cursor between the two locations. L The system anchor is dropped automatically in the following circumstances. \ a] To start-of-text (Ctrl-PgUp), sets a system anchor to the place where the jump started. Z b] To end-of-text (Ctrl-PgDn), sets a system anchor to the place where the jump started. f c] Search/Replace (F4, Ctrl-F4), sets a system anchor to the place where the current search started. To return to the last cursor position after one of the above moves, use the 'swap system anchor/cursor' on Ctrl-Z. The user anchor is undisturbed by the above moves. ABOUT INDEX CUTTING AND PASTING Gray Minus Cut to clipboard Gray Plus Copy to clipboard Insert Paste from clipboard V(edit) uses the cursor block keys to implement cutting and pasting. To cut a block of text, first mark it using one of the available methods. Then press the Gray Minus key on the cursor pad. This cuts (deletes) the marked block to the Clipboard. Q To copy a block of text, mark the block and use the Gray Plus key on the cursor pad. This copies the marked block to the Clipboard, leaving the original text in place and removing the highlighting from the marked block. V(Edit) will correctly handle the cutting and deletion of marked text which has been swapped out to virtual memory. Pasting from the Clipboard is done by placing the cursor at the desired insertion point and hitting the Insert key. If the file that gets the data would overflow (eg, a huge clipboard is being pasted into it) then a virtual memory manager is created to handle it. Note that using the Delete or Ctrl+Delete key on a marked block does not Cut the block, but Deletes it. It can be recovered immediately by using Ctrl U (Undo), provided that the cursor has not been moved in the meantime, and that the deleted data is resident in memory. INDEX DELETING Del Delete char or delete marked area. ^Del Delete to start of next word right or delete marked area. ^Y Delete line. Alt Y Delete to end of line. BS Delete char to left. ^BS Delete to start of line. Alt K Delete trailing spaces. INDEX MOVEMENT KEYS Esc Repeat. Home Beginning of line. ^Home Scroll up. End End of line. ^End Scroll down. PgUp Up one page. PgDn Down one page. ^PgUp Top of file. ^PgDn End of file. Right Char right. ^Right Word right. ^F spacebar Next space right. Left Char left. ^Left Word left. Up Line up. ^F Up Find screen top. Down Line down. ^F Down Find screen end. ^A To first char on the line. ^C Center the cursor line. Alt G Goto Line number. Alt Z To User Anchor. ^Z To System Anchor. ^F+1 Find bookmark 1. ^F+2 Find bookmark 2. INDEX EDITING KEYS SPECIAL KEYS ^C Centers the cursor line to the middle of the screen. ^F 1 Find bookmark 1. ^F 2 Find bookmark 2. ^F [ Find matching brace. Finds the ^F ] matching brace for <> [] () and curly braces. Each keyset works in both directions. ^F spc Find the first space to the right of the next word. ^F up Find top of screen. ^F down Find bottom of screen ^Q Quote (insert) literal char. ^T Transpose the character at the cursor with the character to the left. ^W Wrap paragraph. Alt C Capitalise letter at cursor. Alt L Lowercase word at cursor. Alt U Uppercase word at cursor. Alt K Kills trailing spaces from the cursor to the end of file. Returns the cursor to its starting position. Alt P Pull down the character above the cursor. Alt O toggles Overwrite mode. Alt I toggles autoIndent mode. Alt W toggles Wrap mode. Esc Repeat next command n times. F7 Start macro recording. F8 Stop macro recording. F9 Replay recorded macro. DELETION KEYS Del Delete char or marked area. ^Del Delete to start of next word right or marked area. ^Y Delete line. Alt Y Delete to end of line. BS Delete char to left. ^BS Delete to start of line. Alt K Delete trailing spaces. CURSOR BLOCK KEYS Home To beginning of line. ^Home Scroll up. End To end of line. ^End Scroll down. PgUp One page up. PgDn One page down. ^PgUp To top of file. ^PgDn To end of file. Gray- Cut to clipboard. Gray+ Copy to clipboard. Insert Paste from clipboard. ^Right Move cursor one word right. ^Left Move cursor one word left. INDEX File (Alt-F) The File menu offers choices for opening files, changing directories, and exiting the program. 1 Open Change Dir Exit Save Saveas INDEX File Open (F3) The Open command displays the Open a File dialog box. In this dialog box you select the text file you want to edit in an edit window. & The Open file dialog box contains: an input box with a history list a list box to browse the directory the standard cancel button open action button an information panel that describes the selected file INDEX File Change Dir... Change Dir brings up the change directory dialog box, in which you can change the current directory. INDEX File DOS Shell With the Dos Shell command (Ctrl-X), you can leave V(edit) temporarily to perform a Dos command or run another program. 4 To return to V(edit), type Exit at the DOS prompt. INDEX File Exit (Alt-X) The Exit command terminates V(edit). You are prompted to save any modified files before exiting. INDEX Help on Open a File Dialog Box The Open a File dialog box contains an input box, a file list, a file information panel, the standard button cancel, one other action button (open), plus a history list that's attached to the name inputbox. INDEX Name The Name input box is where you enter the name of the file to load, or the file-name mask to use as a filter for the Files list box (for example, *.*). INDEX Files FILENM01.C FILENM09.C FILENM02.C FILENM10.C FILENM03.C FILENM11.C FILENM04.C FILENM12.C FILENM05.C .. FILENM06.C \DEBUGGER FILENM07.C \LIBS FILENM08.C \MANUALS The Files list box lists the names of files in the current directory that match the file-name mask in the Name input box, plus the parent directory and all subdirectories. C:\LIB\SOURCE\*.C HELLO.C 52 Jul 14,1990 12:00pm The File information panel shows the path name, file name, date, time, and size of the selected file. = None of the items on this information panel are selectable. INDEX [ Open ] The Open button opens a new edit window and places the selected file in that window. If the file is already being edited in another window, then a 'ReadOnly' window is opened. This file can be modified independently but cannot be saved. INDEX [ Cancel ] If you choose Cancel, nothing changes and no action occurs, and the dialog box is put away. M (Esc always cancels a dialog box, even if a Cancel button does not appear.) INDEX [ Open ] In the Open a File dialog box, if you choose the Open button V(edit) opens a new edit window and places the selected file in that window. INDEX Help on the Change Directory dialog box The Change Directory dialog box consists of an input box, a list box, the standard OK and Help buttons, and two other buttons (Chdir and Revert). | Directory Name The Directory Name input box is where you type in the path of the new directory. Directory Tree Drives D:\ LIB MYSOURCE The Directory Tree list box enables you to navigate directories by using the selecting bar and pressing Enter. If you're using the keyboard, press Enter to make the selected directory be the current directory, then choose OK or press Esc to exit the dialog box. + [Chdir ] The Chdir button changes the current directory once you've selected or typed in a directory name. + [Revert] The Revert button goes back to the previous directory, as long as you haven't yet exited the dialog box. INDEX File Window A file edit window views the contents of a text file. You can use the arrow keys to move about in the file. A file is loaded via the file open menu item. ? Edit windows can be resized and moved using the Desktop menu. INDEX SETUP SET MARGIN WRAPPING AND RE-FORMATTING The Setup Set Margin command is used with auto text wrapping and text block re-formatting. AUTO TEXT WRAPPING V(edit) can handle auto text wrapping when entering text. The lines are correctly terminated, with no trailing space. Wordwrap is toggled by Alt-W, and when enabled, 'Wrap' is displayed beside the line indicator. The right hand margin is set by default to 72 but can be changed from the Setup menu (Set Margin). Entering a new value for the right margin automatically engages the Wrap mode. The maximum line length allowed is 256 characters. TEXT RE-FORMATTING Text can be re-formatted with the ^W key. The text block is re-wrapped from the start of the cursor line to the next empty line. Lines beginning with a hard tab are not re-formatted, nor are lines which consist only of non-text characters. The code is aware of the 'Indent' setting and will correctly indent re-formatted lines if auto-indent is set. When re-formatting lines which are already indented, the redundant spaces are stripped out. The right hand margin can be set independently for each text block. INDEX ABOUT DESKTOP FACILITIES V(edit) provides a full workspace save and restore facility, using named files. This means that you can save multiple workspaces and restore them by name. Three commands on the Desktop menu control the system. DESKTOP SAVE WORKSPACE This command displays the 'Save Desktop File' dialog box. In this box you allocate a filename to save the current workspace to. The *.dsk file contains the information required to reconstruct the current desktop. As well as the filenames, the window sizes and positions are saved, the cursor locations are saved and any active bookmarks are saved. Also saved are the wordwrap and auto-indent settings, and the current right margin setting. This command does not clear the desktop. DESKTOP RESTORE WORKSPACE This command displays the 'Restore Desktop File' dialog box. The files shown are restricted to desktop files, *.DSK. Selecting one of these files for restoring clears the current desktop, with any necessary prompting, and restores a previously saved position. DESKTOP CLEAR WORKSPACE This command clears all the files from the desktop. If any of the files have been modified, you will be asked if you want to save them. INDEX ABOUT COMMAND MENU KEY FILE COMMANDS Open Y F3 New Y Alt-F N Save Y F2 SaveAs Y Alt-F A ChangeDirectory Y Alt-F C Close Y Alt-F3 QUERY COMMANDS Search Y F4 or Ctrl-S Replace Y Ctrl-F4 or Ctrl-R SearchAgain Y Ctrl-L GotoLine Y Alt-G SwapAnchor N Alt-Z FindMatchingBrace N Ctrl-F [ or ] FindBookMark1 N Ctrl-F 1 FindBookMark2 N Ctrl-F 2 FindScreenTop N Ctrl-F FindScreenBottom N Ctrl-F MOVEMENT COMMANDS CharLeft N CharRight N WordLeft N Shift WordRight N Shift NextSpaceRight N Ctrl-F spacebar LineStart N Home FirstChar N Ctrl-A LineEnd N End LineUp N LineScrollUp N Ctrl-Home LineDown N LineScrollDown N Ctrl-End LineCenterOfScreen N Ctrl-C PageUp N PgUp PageDown N PgDn TextStart N Ctrl-PgUp TextEnd N Ctrl-PgDn NewLine N Enter BackSpace N BS DropAnchor N Alt-A SetBookMark1 N Ctrl-K 1 SetBookMark2 N Ctrl-K 2 DELETION COMMANDS DelChar N Delete DelCharLeft N BS DelWordRight N Ctrl-Del DelToStartofLine N Ctrl-BS DelToEndOfLine N Alt-Y DelLine N Ctrl-Y Clear N Ctrl-Delete Undo N Ctrl-U KillTrailingSpaces N Alt-K DeTabLine Y Alt-E L DeTabFile Y Alt-E E MODE COMMANDS GlobalOptions Y Alt-S O OverwriteMode Y Alt-O IndentMode N Alt-I WordWrapMode N Alt-W MarkTextOn N Alt-M MarkTextOn(Soft) N Shift MarkTextOff N Alt-H StartRecordMacro N F7 StopRecordMacro N F8 ReplayMacro N F9 RepeatCommand N Esc EDITING COMMANDS CutMarkedText Y Gray - CopyMarkedText Y Gray + InsertClipboard Y Ins Undo Y Ctrl-U CopyCharDown N Alt-P TransposeChars N Ctrl-T Literal N Ctrl-Q UppercaseWord N Alt-U LowercaseWord N Alt-L UppercaseChar N Alt-C WrapParagraph N Ctrl-W MISC COMMANDS SaveOptions Y Alt-S S DosShell Y Ctrl-X ExitEditor Y Alt-X DISPLAY COMMANDS VideoMode Y Alt-V SaveWorkSpace Y Alt-D D RestoreWorkSpace Y Alt-D R ClearWorkSpace Y Alt-D C Size/Move Y Ctrl-F5 Zoom Y F5 Tile Y Shift-F5 Cascade Y Alt-F5 Next Y F6 Prev Y Shift-F6 Close Y Alt-F3 INDEX SETUP OPTIONS Global options can be set from a dialog box. These options apply to every edit window. The options are: = Colour, Soft Tab Size, File Backup. COLOUR The screen colour can be changed from the Options dialog box. Four choices are presented for selection. They are: Yellow/Blue Blue/Yellow Screen LCD LCD Screen Monochrome EGA/VGA Screen Gray/Blue Blue/Gray Screen SOFT TABS The soft tabs setting, which is used in all files except *.TXT and *.DOC, can be adjusted here. Any setting from 2 to 20 is acceptable. Soft tabs fill to the next tab stop with spaces, instead of using a hidden control character. FILE BACKUP The file backup selection is in the form of a check box. When the box is checked, file backup is active, when unchecked, there is no file backup at all. Backup files are saved under their original name and extension in a directory named \V(edit)\BACKUP. If this directory does not exist, it is created. N When the dialog box is closed, the new settings are immediately implemented. INDEX SELECTING WINDOWS A window can be activated in the following ways. USING THE MOUSE If the window or any part of it is visible, clicking on it with the mouse will activate it and bring it to the top. USING THE KEYBOARD The Desktop/Next (Alt-DN )and Desktop/Previous (Alt-DP) menu items will cycle through all of the available windows, either forward or backward. These commands are duplicated on F6 (Next) and Shift-F6 (Previous). Any window can be made the active window by selecting its number in conjunction with the Alt key eg. Alt-2 will activate window number two. INDEX CASCADING THE WINDOWS The windows can be cascaded (arranged so that all the windows overlap with the titles visible) by using the menu (Alt-DC) or the keyboard (Alt- F5). Any window can be made the active window by selecting its number in conjunction with the Alt key eg. Alt-2 will activate window number two. Clicking on a window with the mouse will also activate the window. INDEX TILING THE WINDOWS The windows can be tiled (arranged so that all windows are visible) by using the menu (Alt-DT), or the keyboard (Shift-F5). Tiling is horizontal up to a maximum of three open windows. After that, tiling is arranged to maximise the view of the windows. Any window can be made the active window by selecting its number in conjunction with the Alt key eg. Alt-2 will activate window number two. Clicking on a window with the mouse will also activate the window. INDEX ZOOMING THE ACTIVE WINDOW The active window can be zoomed to fill the screen by using the menu (Alt-DZ), the keyboard (F5), or the mouse. To use the mouse, click on the Zoom Arrow icon (on the top line at the right). The Zoom function is a toggle, and repeated selection will alternate the window between full screen and reduced size. The Zoom Arrow icon will alternate from a single arrowhead to a double arrowhead if the window can be reduced using the Zoom feature. INDEX SIZE/MOVE THE ACTIVE WINDOW The active window can be sized and moved in the following ways: USING THE MOUSE SIZING THE WINDOW Place the mouse cursor on the lower right corner of the window and hold down the left mouse button. Drag the corner of the window until the window is at the required size. MOVING THE WINDOW Place the mouse cursor on the top edge of the window and hold down the left mouse button. Drag the window to the desired location. USING THE KEYBOARD SIZING THE WINDOW Select the Size/Move mode with either Ctrl-F5 or Desktop/Size/Move (Alt-DS). The window border changes from a double line to a single line, indicating that the window is selected for Sizing and Moving. To change the size, use the shift-arrow keys. When the window is at the correct size, press enter. MOVING THE WINDOW Select the mode as above, and use the arrow keys to move the window around the desktop. INDEX VIRTUAL MEMORY The virtual memory system in V(edit) is intended to work in the background, and during editing there should be no apparent interaction with the screen display. In fact, the intention is that the user should be unaware that he is editing a file or files that are much bigger than Dos memory constraints would allow. V(edit) is a multi-file editor. If the user loaded a very large file for editing, and all of the file was brought into memory, then the ability to handle multiple files at the same time would be severely degraded. To overcome this, V(edit) will only allow each file to be allocated a certain amount of memory as an edit buffer. These buffers can be as small as 4k or as large as 64k, and they can grow or shrink dynamically with changes in the edited filesizes. When a file gets too big to fit into the maximum buffer size allocated for it, V(edit) switches to the use of 'virtual' memory. That simply means that the editor uses a portion of the hard disk as a storage area for those parts of the file not resident in memory. V(edit) checks the size of a file when it is opened for editing, and if it is bigger than a critical size, the file is opened in 'virtual memory mode'. In-situ checks are also made on files in the editor which are close to a critical size, and if necessary, the file is switched into 'virtual memory mode'. These actions require no intervention from the user and are totally transparent. Perfomance Issues INDEX PERFORMANCE ISSUES FILES SMALLER THAN 64 KILOBYTES V(edit) is coded to be a very fast editor. When the file that is being edited is completely in memory, then speed is at a maximum. There are no external factors at work beyond the speed of the processor and the speed of the memory. In these circumstances, V(edit) can be run perfectly well from a floppy, with no speed penalty incurred. ! FILES LARGER THAN 64 KILOBYTES When the edited file is very large and is making use of virtual memory, then other factors can come into play, chiefly the disk I/O performance. The Virtual Memory manager in V(edit) has been written to minimise disk accesses. To improve disk I/O performance, do the following. { Run V(edit) on a hard disk, not a floppy. When V(edit) creates a virtual memory cache, it puts the cache in the same directory as the file being edited. Floppies have neither the speed nor the capacity to act as a virtual memory. If you attempt to edit a file from a floppy, that is big enough to need Virtual Memory, V(edit) will not load it but will display an error message. / Use a disk cache (SmartDrive is perfectly adequate). Any speed penalty when editing a very large file is due to the disk I/O performance, and a cache will help here. If possible, the cache should be as large as memory will allow (not usually a problem in Dos), and 'write-behind' caching should be ON. s Given the above configuration, there will be no discernable speed penalty when editing a bunch of humungous files. For example, with a 990 kilobyte text file, the time to jump from the start of file to the end of file is less than a second, and the 'search' time across the same file, looking for a unique 21 character string at the end of the file, is about 5 seconds. / Configuration when editing very large files: CACHE PERFORMANCE None Disk Bound Small, No Smart-Write Adequate Large, No Smart-Write Better Large, Smart-Write Fast RAM DISKS Don't be tempted to use a Ram disk such as ramdrive.sys to hold the file being edited. If the file is small, below 64K, then no improvement will be seen, and if the file is big, the ramdrive will be targeted as the virtual memory cache. This won't be any faster than a disk cache, but has the disadvantage of limiting the size of virtual memory to the capacity of the ramdrive. ABOUT INDEX SEARCH AND REPLACE The Edit|Search, Edit|Replace and Edit|Search Again commands let you search for and optionally replace strings. The search strings can include any characters, including control characters (see Regular Expressions below). A search string can be up to 80 characters long. 5 There are three options in the 'Search' dialog box: A Case Sensitive, Regular Expressions, Whole Words Only. There are five options in the 'Replace' dialog: g Case Sensitive, Regular Expressions, Whole Words Only, Prompt On Replace, Replace All. In each dialog box, any, all or none of the options can be selected. REGULAR EXPRESSIONS A 'Regular Expression' is a search string which contains characters that have special meanings: they are operators that govern the search. (In a 'literal' string, there are no operators: each character is treated literally). | The 'Regular Expressions' mode uses the standard Unix search operators. The options that are available are detailed below. " ^ start of line $ end of line . any character \ quote next character * match zero or + match one or more more of the of the preceding preceding char character [aeiou0-9] match a, e, i, o, u, and 0 thru 9 f [^aeiou0-9] match anything but a, e, i, o, u, and 0 thru 9 OPERATOR MEANING ^ Matches start of line. The search string must begin at the start of a line. The hidden start-of-line character is not selected on a successful search. Example: ^abc abcdef xxx abc The first 'abc' will be found as it starts at the beginning of the line, but the second instance of 'abc' will be ignored. $ Matches end of line. The search string must be located at the end of a line. The hidden end-of-line character is not selected on a successful search. Example: abc$ abcdef xxx abc The second 'abc' will be found since it is at the of the line, but the first instance of 'abc' will be ignored. \ Quote the next character. The next character may be a special control character. The special control characters are; \xhh Matches the hex character defined by the two chars following the \x. Example, \x1b matches the 'esc' character, and \x0b matches ctrl-G. \n Matches a crlf pair embedded in the search string. \t Matches a tab character. \e Matches an escape character. \\ Matches a '\' character. Replacement strings do not make use of these control codes. Each character in the replacement string is accepted as literal text. * . Matches any character. * Matches zero or more instances of the character immediately preceding it. Example: to* Matches t, to, too etc. * + Matches one or more instances of the character immediately preceding it. Example: to+ ! Matches to, too etc, but not t. * [] A string enclosed in brackets matches any character in that string. If the first character in the string is a circumflex '^', the expression matches any character EXCEPT the characters in the string. You can specify a range of characters with two characters separated by a dash, '-'. These can be combined to form expressions like [a-bd-z?] to match ? and any lowercase character except 'c'. Example: [^a-z]main *( Matches. main(i:integer) if (main ()) Does not match. mymain() Notes: None of the previously defined characters have any special meaning when used in a bracketed expression. In addition, the '^' is only treated specially when it is the first character inside the brackets. All of the characters in a bracketed set are case-sensitive, regardless of the setting of the case-sensitive checkbox. INDEX REPEAT NEXT COMMAND/KEYSTROKE The 'repeat' function allows multiple instances of a command or keystroke. The 'esc' key brings up the 'repeat' dialog box. Type in the number of repeats wanted and close the dialog box. The next keystroke is interrogated, and if valid, is repeated by the number required. Most keyboard commands and all text entry keys are accepted. INDEX KEYSTROKE MACROS The keystroke macro function allows you to record a series of keystrokes and to replay them. Mouse actions are not recorded. User commands requiring the use of a dialog box, such as the 'repeat' command, are recorded and played back without user intervention. The F7 key is the 'start macro recording' key. When pressed, the 'REC' symbol appears on the information line at the bottom of the screen. Keystrokes are recorded until F8, the 'stop macro recording' key is pressed, when the 'REC' symbol is removed. 1 The F9 key is the 'playback macro' key. Place the cursor where you want the replay to begin and press F9. Macros are system wide, they can be recorded in any file and replayed in any file. They are not saved with the desktops. The Replay Key 'F9' is locked out during the recording of a keystroke macro. d There are no facilities yet for saving macros, although I'm thinking about it for future versions. ? Macros cannot be recorded or played back in a Read Only file. INDEX SAVE A FILE The 'save file' key is F2. There is no dialog for this function unless the file is untitled, when a dialog box similar to the FileOpen dialog is presented. This command is inhibited when the file is Read Only. INDEX SAVE AS.. This function allows saving a file under another name. A dialog box similar to the FileOpen dialog is opened. When the box is closed, the file is saved under the new name and the window title is changed. This command is inhibited when the file is Read Only. INDEX NEW FILE This function opens an empty, untitled window for editing. INDEX CLOSE WINDOW Close Window can be selected from the menu File/Close (Alt-FL) or Desktop/Close (Alt- DL). The keyboard command for Close Window is Alt-F3. The mouse can also be used to close a window, by clicking on the Close Window icon (a square at the top left of the window). The window and its associated file are closed immediately when Close is selected, unless the file has been modified, when an information box will be displayed, prompting for a yes/no decision. INDEX SEARCH The Search facility will search forward for a string of characters, stopping when a match is found. The matched string is highlighted and the cursor is placed at the end. Options are available for a 'Case Sensitive' search, a 'Regular Expression' search and a 'Whole Words Only' search. The 'Search' can be repeated with the 'SearchAgain' command. INDEX REPLACE The Replace facility will search forward for a string of characters and will optionally replace the matched string with the specified new text. Options are available for a 'Case Sensitive' search, a 'Regular Expression' search and a 'Whole Words Only' search. Replace options are 'Prompt on Replace', and 'Replace All'. The 'Replace' can be repeated with the 'SearchAgain' command. Example: Replace. If 'Prompt On Replace' is selected, the editor stops at the first match with the matching text highlighted and a dialog box pops up. The user instruction is then carried out and the Replace mode exits. If 'Prompt On Replace' and 'Replace All' are selected, the editor stops at each match and carries out the user instructions, until there are no more matches or the user selects 'Cancel'. INDEX SEARCH AGAIN The SearchAgain command repeats the last Search or Replace action. INDEX GOTO LINE... The GotoLine command will jump forward or backward to the required line number. A dialog box pops up to get the line number. INDEX FIND MATCHING BRACE The FindMatchingBrace command will jump to the next brace that matches the brace at the cursor. If the brace at the cursor is a left brace, V(edit) will search forward for a matching right brace, and vice-versa. While the search is proceeding, the cursor is blanked out. NOTE that this is the only indication you have when a search is in progress across a very large distance. Either of the two key combinations for this command will search for the correct brace. Braces matched are <> () [] and curly braces. The <> braces are not searched for in C source files. INDEX FIND SCREEN TOP The FindScreenTop command moves the cursor from the current line to the line at the top of the screen. INDEX FIND SCREEN BOTTOM The FindScreenBottom command moves the cursor from the current line to the line at the bottom of the screen. INDEX FIRST CHAR The FirstChar command moves the cursor from its present position to the first visible character on the curren line. INDEX KILL TRAILING SPACES Most word-processors and text editors, and V(edit) is no exception, leave trailing spaces littered around the file. As well as increasing the file size, they can impede searches, particularly across line breaks. The KillTrailingSpaces command deletes all spaces between the last visible character on each line and the end-of-line character. When the command is active, a 'Kill' legend is shown on the information line at the bottom left of the window. When the command is finished, the 'Kill' legend is removed. The cursor does not move from its current position. INDEX OVERWRITE MODE This is not a Global mode, but is individual to the window in which it is selected. In this mode of operation, new text overwrites the text at the cursor position. The cursor changes from a blinking '_' to a blinking ' ' character. The mode can be toggled. INDEX AUTO INDENT MODE This is not a Global mode, but is individual to the window in which it is selected. In this mode of operation, a new line will begin directly beneath the first character on the line above it. Spaces or tabs are used as the fill characters, depending on the file type. The mode is ON by default, but can be toggled. An Indent symbol is show on the information line at the bottom left of the window whenever the mode is active. INDEX NEXT SPACE RIGHT This command moves the cursor to the first space after the current word. If the cursor is not positioned on a visible character, the cursor is moved to the first space after the next word. INDEX UNDO The Undo command will undo the last typing action, provided that the cursor has not been moved in the meantime. INDEX COPY CHARACTER DOWN The CopyCharDown command will copy the character directly above the cursor to the cursor position. The cursor is moved one position to the right. The contents of the clipboard are not disturbed. INDEX TRANSPOSE CHARACTERS The TransposeChars command swaps the character at the cursor with the character immediately to its left. The cursor is moved one position to the right. The contents of the clipboard are not disturbed. INDEX LITERAL The Literal command allows the insertion of control characters. When the command is activated, the next keystroke is accepted as a text insertion and not as a command. Note that this means that the ^I amd ^M characters are still handled as tabs and carriage returns respectively. INDEX CASE COMMANDS These commands, UpperCaseWord, LowerCaseWord and UpperCaseChar act directly on the word from the position of the cursor. That means that a word will be changed to uppercase or lowercase from the cursor position only. INDEX VIDEO MODE This command toggles the screen between EGA/VGA (43/50 lines) and 25 lines. INDEX READ ONLY FILES When a file is already being edited, and another copy of the same file is required, then the copy is opened in 'Read Only' mode. All V(edit) movement commands are supported, and it is allowed to mark and copy data from the 'Read Only' file, but all insertion, deletion and save commands are inhibited. INDEX DeTab to Line End This command will remove any hard tabs on the line from the cursor position to the end of the line. Each removed hard tab will be replaced with the correct number of spaces as governed by the current setting for soft tabs. INDEX This command will remove any hard tabs in the file from the cursor position to the end of the file. Each removed hard tab will be replaced with the correct number of spaces as governed by the current setting for soft tabs. INDEX