═══ 1. About FTE ═══ fte Version 0.46 (c) Copyright 1995-1998 Marko Macek The latest version can be always downloaded from: http://ixtas.fri.uni-lj.si/~markom/fte Please send comments/suggestions/bug reports to: Marko.Macek@snet.fri.uni-lj.si or mark@hermes.si See file README for last minute notes. See file HISTORY for recent changes. See file TODO for possible future additions. See file BUGS for outstanding problems. ═══ 2. Installation ═══ This section covers installation and configuration of editor. ═══ 2.1. OS/2 ═══ ═══ 2.1.1. Files ═══ The following files are included in the archive: README Release notes, read first! fte.exe Text-mode executable ftepm.exe Presentation Manager executable fte-def.cnf Default compiled configuration file. fte.inf, fte.ipf, fte.html, fte.txt This file, in various formats. config\*.fte Configuration files in source form. clipserv.exe Clipboard server (required for PM clipboard support in text-mode version). cliputil.exe Utility to copy/paste to/from clipboard from command line. HISTORY Revision history. TODO Todo list. file_id.diz Program description for BBS upload. ═══ 2.1.2. Required files ═══ The default configuration files are precompiled into fte-def.cnf. This file should be copied to fte.cnf for text-mode version, and to ftepm.cnf for PM version. Or, you may want to compile your own configuration from source using cfte configuration file compiler. For minimal installation of the text mode version, only fte.exe and fte.cnf are required. For PM clipboard support clipserv.EXE is needed and must be running whenever you wish to use PM clipboard from FTE. To install PM version, ftepm.exe and ftepm.cnf are needed. To recompile source files, cfte.exe and config\*.fte files are needed. Place executable files somewhere on your PATH. Compiled configuration files should be located in the same directory as executable and have the same basename with extension .CNF. ═══ 2.2. Unix ═══ The following files are included in the archive: README Readme file. fte Linux console-only executable Xfte X11 Xlib executable. fte-def.cnf Default compiled configuration file fte.html Reference manual config\*.fte Configuration files in source form. HISTORY History of changes. TODO Todo list. file_id.diz Program description for BBS upload. fte-0.38.lsm LSM entry for FTE. The default configuration files are precompiled into fte-def.cnf. This file should be copied to ~/.fterc to be automatically loaded by FTE. You may want to compile your own configuration from source using cfte configuration file compiler. Suggested installation directories: /usr/local/bin/fte /usr/local/bin/Xfte /usr/local/bin/cfte /usr/local/etc/fte/system.fterc /usr/local/lib/fte/etc/*.fte /usr/local/lib/fte/lib/fte.html /usr/local/lib/fte/lib/TODO /usr/local/lib/fte/lib/HISTORY /usr/local/lib/fte/lib/README ═══ 3. Configuration Files ═══ FTE configuration files are version specific, and must be recompiled with each new version of the editor. On startup, editor will attempt to load a configuration file with the basename as the executable and extension .CNF. The configuration file is produced by compiling source files with CFTE. If the command line option -! is used, editor will not attempt to load a configuration file and will use default built-in settings. ═══ 3.1. Compiling configuration ═══ Configuration files are compiled using CFTE program. cfte should be invoked on main.fte, for example: [C:\FTE] cfte config\main.fte $ cfte config/main.fte This will automatically compile all *.fte files included from main.fte and produce fte-new.cnf if there are no errors in source files. When configuration source files are sucessfully compiled, the resulting file fte-new.cnf should be copied to fte.cnf and ftepm.cnf, or under Unix to ~/.fterc After FTE is properly configured with the above procedure, you can select Options/Recompile Configuration from FTE menu bar, and FTE will invoke CFTE to recompile the configuration. ═══ 3.2. Configuration file syntax ═══ Comments start with character # and last until the end of line. Strings can be specified using any of ' " / characters. Single quoted strings perform no substitution. To enter ' or \ into a string precede it with a backslash. Double quoted strings perform the following substitutions: \t -> ^I, tab character \r -> ^M, CR \n -> ^J, LF \e -> ^[, escape character \v -> ^L, vertical tab \b -> ^H, backspace \a -> ^G, bell Strings started by / character require no escaping (except for '/'). Mostly useful for specifying regular expressions without double backslashes that are necessary in single and double quoted strings. ═══ 4. Command Line Options ═══ The FTE command line syntax is: fte [[options] [files] ...] ═══ 4.1. Options ═══ -lline[,column] Go to line (and column) in next file specified on command line -m[MOD]E Use mode MODE for remaining files. If no argument is specified, mode override is cancelled. -C[file] Use specified configuration file (compiled). If no argument is specified, the default builtin configuration is used. -D[file.dsk] Load/save desktop from file file.dsk. If no argument is specified, desktop loading/saving is disabled. -H[file.his] Load/save history from file <.his>. If no argument, disable history load/save. -Ttags Load tags file tags. The file must be in the format generated by the ctags program. -ttag Lookup tag tag and display file containing it. -- The rest of the arguments are not options, but filenames. -+ The next argument is not an option even if starting with a '-'. Optional arguments are marked by [ and ] brackets. There should not be any delimiter between option and it's arguments. ═══ 4.2. Examples ═══ fte -mBIN fte.exe load fte.exe in BIN mode fte -l100,30 win.c go to (100,30) in win.c fte window.cpp load file window.cpp fte -mBIN fte.exe -m fte.cpp load fte.exe in binary mode, window.cpp in default mode (C/C++) fte -mBIN -+ -bla- load file -bla- in BIN mode fte -- -1 -2 -3 -4 -5 -6 load files -1, -2, -3, -4, -5, -6 fte -D -H fte.dsk fte.his Disable desktop and history loading and saving and load files fte.dsk and fte.his. Under OS/2,NT and DOS default history and desktop files are named FTE.DSK and FTE.HIS respectively. Under Unix they are named .fte-desktop and .fte-history. The global desktop and history files will be searched in program directory under OS/2 and in user home directory under Unix. ═══ 5. Global Configuration ═══ ═══ 5.1. Global Settings ═══ The following settings can be used in the GLOBAL section of the configuration file. Some of the options are platform specific (to be fixed). ═══ 5.1.1. DefaultModeName ═══ Default mode name for loading/editing files. If not set or invalid, first mode in the configuration file will be used instead. By default set to 'PLAIN'. ═══ 5.1.2. CompletionFilter ═══ Files matching this regexp are ignored when doing filename completion. ═══ 5.1.3. CompileRx ═══ Defines regular expressions and thers subpattern indices to match when searching for errors and warnings in compilation output. First number is an index of the subpattern that matches filename. The second must match the line number, the third parameter is the regular expression to match to each line of the compiler output. ═══ 5.1.4. OpenAfterClose ═══ If set to 1, editor will prompt for another file when all files are closed. ═══ 5.1.5. SysClipboard ═══ When set to 1, editor will use external (PM, X11) clipboard instead of internal one. ═══ 5.1.6. ScreenSizeX ═══ Number of columns visible on screen or window ═══ 5.1.7. ScreenSizeY ═══ Number of lines visible on screen or window ═══ 5.1.8. CursorInsertStart ═══ Starting percentage of cursor size (from top) when in insert mode. ═══ 5.1.9. CursorInsertEnd ═══ Ending percentage of cursor size when in insert mode. ═══ 5.1.10. CursorOverStart ═══ Starting percentage of cursor size when in overstrike mode ═══ 5.1.11. CursorOverEnd ═══ Ending percentage of cursor size when in overstrike mode. ═══ 5.1.12. SelectPathname ═══ If set to 1, pathname will be selected by default when prompting for a file in FileOpen function. If set to 0, pathname will not be selected, this allows you to quickly type a new filename, without erasing an entire entryfield. ═══ 5.1.13. ShowMenuBar ═══ If set to 1, main menu bar will be visible. ═══ 5.1.14. ShowVScroll ═══ If set to 1, scroll bar will be visible. ═══ 5.1.15. ShowHScroll ═══ If set to 1, scroll bar will be visible. ═══ 5.1.16. KeepHistory ═══ If set to 1, last file position and imput prompt history will be loaded on startup and saved on exit. Can be overriden with command line option '-h'. ═══ 5.1.17. LoadDesktopOnEntry ═══ If set to 1, all files listed in FTE.DSK in current directory or FTE.EXE directory will be loaded into FTE. The desktop file can be overriden with command line option '-d'. If set to 2, desktop is only loaded (and saved) if there are no files specified on the command line. ═══ 5.1.18. SaveDesktopOnExit ═══ If set to 1, desktop will be automatically saved when ExitEditor command is issued. ═══ 5.1.19. KeepMessages ═══ If set to 1, compiler messages will be kept until deleted by user. ═══ 5.1.20. ScrollBorderX ═══ Horizontal offset to the border before window starts scrolling. ═══ 5.1.21. ScrollBorderY ═══ Vertical offset to the border before window starts scrolling. ═══ 5.1.22. ScrollJumpX ═══ Scroll window by this many columns when cursor reaches scrolling border. ═══ 5.1.23. ScrollJumpY ═══ Scroll window by this many lines when cursor reaches scrolling border. ═══ 5.1.24. C_* ═══ Define the C mode smart indentation parameters See section on configuring C mode indentation. ═══ 5.1.25. REXX_Indent ═══ Defines the REXX basic indentation level ═══ 5.2. CMode Smart Indentation ═══ Settings for CMode smart indentation C_Indent Basic C indentation level C_BraceOfs Brace '{' offset C_CaseOfs Offset of case and default statements C_CaseDelta Offsets of statements following case/default. C_ClassOfs Offset of public, private and protected C_ClassDelta Offset of statements following public, private, protected C_ColonOfs Offset of labels C_CommentOfs Offset of comments C_CommentDelta Offset of second line of comments C_FirstLevelWidth Width of the first indentation level (indent of '{' in the function start). C_FirstLevelIndent Indentation of statements in the first indentation level. C_ParenDelta When >= 0, offset of continued text after '('. When set to -1, the offset is equal to position of '(' plus one. Example 1: class line { public: // C_ClassOfs = 0 line(); // C_ClassDelta = 4 ~line(); }; int main() { int x = 1; /* // C_CommentOfs = 0 * check value // C_CommentDelta = 1 */ puts("main"); // C_Indent = 4 if (x) { // C_BraceOfs = 0 switch (x) { case 1: // C_CaseOfs = 0 puts("ok"); // C_CaseDelta = 4 break; } } end: return 0; } Example 2: class line { public: // C_ClassOfs = 2 line(); // C_ClassDelta = 2 ~line(); }; int main() { int x = 1; /* // C_CommentOfs = 2 ** check value // C_CommentDelta = 0 */ puts("main"); // C_Indent = 4 if (x) { // C_BraceOfs = 0 switch (x) { case 1: // C_CaseOfs = 4 puts("ok"); // C_CaseDelta = 4 break; } } end: return 0; } ═══ 6. Colors ═══ Colors are configured in COLOR.FTE file. Syntax for color settings is: color { { 'name', 'value' } ... } Value is the PC character attribute first char is background color, the second is foreground color. Colors are as follows: 0 Black 1 Dark Blue 2 Dark Green 3 Dark Cyan 4 Dark Red 5 Dark Magenta 6 Orange 7 Pale Gray 8 Dark Gray 9 Blue A Green B Cyan C Red D Magenta E Yellow F White q ═══ 7. Mode Configuration ═══ fte allows each file extension to have a different editing mode. Mode is a collection of editor settings such as keybindings, tab settings, autoindent settings, syntax highlighting,... Syntax of mode command is mode NAME { mode settings } mode NAME: PARENT { mode settings } Mode with name NAMEinherits settings from mode PARENT if parent mode is specified at mode declaration. When editor is searching for a mode to use for a file it will first check if the mode has been overriden by a FileOpenInMode command or a command line option (-m). Then it will check if the file name matches FileNameRx defined in mode declarations. If the mode has still not been found, it will read the first line (max 80 chars) of the file, and attempt to match the FirstLineRx with the first line. If this fails, the editor will use mode specified by DefaultModeName global setting to load a file. If that mode does not exist, first mode defined in the configuration file will be used. ═══ 7.1. Mode Settings ═══ The following settings can be specified for each mode: ═══ 7.1.1. ExpandTabs ═══ {0,1} Should be set to 1 if tabs are to be expanded when displayed. Use ToggleExpandTabs command to toggle during editing. TabSize {1-32} Tab size when tabs are shown expanded on display. AutoIndent {0,1} Should be set to 1 if autoindent is to be used. Use ToggleAutoIndent command to toggle it on/off during editing. Insert {0,1} If set to 1, Insert mode is active by default. If set to 0, Overwrite mode is active by default. Use ToggleInsert command to toggle it on/off during editing. StripChar {ASCII code/-1} This characted will be stripped if it is found the end of any line when the file is being loaded. If it is set to -1, no characted will be stripped. Usually used to strip 13 (CR) characters from DOS text files. LineChar {ASCII code/-1} This character is used as a line separator when loading a file. If set to -1, there is no line separator. (WARNING: File will be loaded as one line if LineChar is set to -1). Usually set to 10 (LF) as standard text file line separator. AddCR {0,1} If set to 1, CR (13, \r) character will be added to end of line when saving. AddLF {0,1} If set to 1, LF (10, \n) characted will be added to end if line when saving. ForceNewLine {0,1} Normally, when saving, the last line is saved without any CR/LF characters. This setting will override that behaviour. Hilit {0,1} If set to 1, syntax highliting will be active. ShowTab {0,1} If set to 1, tabs will be visible as circles (EPM-like). IndentMode {PLAIN,C,REXX} Activates the specified smart indent mode. (PLAIN mode specifies no smart audoindenting, just normal autoindent). Colorizer Specifies a previously declared colorize mode to use for syntax highlighting in this editing mode. EventMap Specify the name of existing eventmap to use for current mode. UndoLimit {Number} Limit undo to this many recent commands (-1 = unlimited) UndoMoves {0,1} If set to 1, all cursor movements will be recorded on undo stack. KeepBackups {0,1} If set to 0, backup files will be deleted after a successful save operation. MatchCase {0,1} If set to 0, searches will be case insensitive. This can be toggled via ToggleMatchCase command when editor is running. BackSpKillTab {0,1} If set to 1, BackSpace will kill entire tabs instead of converting them to spaces. DeleteKillTab {0,1} If set to 1, Delete will kill entire tabs instead of converting them to spaces. BackSpUnindents {0,1} If set to 1, BackSpace will unindent to previous indentation level if issued on beginning of line. SpaceTabs {0,1} If set to 1, InsertTab command will insert spaces instead of tabs. IndentWithTabs {0,1} If set to 1, indentation will be done using tabs instead of spaces. WordWrap {0,1,2} If set to 1, editor wrap current line when right margin is reached. If set to 2, editor will wrap current paragraph continously. Paragraphs as recognised by WrapPara command must be separated by blank lines. LeftMargin {1-xx} Left margin for word wrap (WrapPara command). RightMargin {1-xx} Right margin for word wrap (WrapPara command). Trim {0,1} If set to 1, spaces on the end of line will be trimmed when editing. ShowMarkers {0,1} If set to 1, end of line and end of file markers will be shown. CursorTroughTabs {0,1} If set to 1, editor will allow cursor to be positioned inside tabs. DefFindOpt 'options' Default search options for Find command. DefFindReplaceOpt 'options' Default search/replace options for FindReplace command. SaveFolds {0,1,2} If 0, folds are not saved. If 1, folds are saved at beginning of line, if 2 folds are saved at end of line. Folds are saved as comments in source files, depending on active editing mode. See mode settings CommentStart and CommentEnd for configuration of fold comments. CommentStart "comment-start-string" String that starts comments (for saving folds) CommentEnd "comment-end-string" String that ends comments AutoHilitParen {0,1} If set to 1, editor will automatically highlight the matching bracket if it is visible on screen. This is equivalent to executing HilitMatchBracket command. Abbreviations {0,1} If set to 1, abbreviation expansion will be active in this mode. BackSpKillBlock {0,1} If set to 1, BackSpace command will delete block if it is marked, otherwise it will delete the previous character. DeleteKillBlock {0,1} If set to 1, Delete command will delete block if marked, instead of deleting the character below cursor. PersistentBlocks {0,1} If set to 1, blocks will stay marked even if cursor is moved in the file, if set to 0, block is unmarked as soon as the cursor is moved. InsertKillBlock {0,1} If set to 1, the marked block is deleted when a new character is typed. FileNameRx "regexp" Must be set to regexp that matches names of files that should be edited in this mode. Has priority over FirstLineRx FirstLineRx "regexp" Must be set to regex that matches the first line of files that should be edited in this mode. This is checked only if no FileNameRx matches the filename. RoutineRegexp "regexp" Regular expression that matches function header. Used by editor commands: ListRoutines, MoveFunctionPrev, MoveFunctionNext, BlockMarkFunction, IndentFunction. ═══ 7.1.2. Loading files in various formats ═══ Here are settings for loading files in various formats: DOS/Win/OS2/NT text files (CR/LF delimited): StripChar 13 LineChar 10 AddCR 1 AddLF 1 Unix text files (LF delimited): StripChar -1 LineChar 10 AddCR 0 AddLF 1 MAC text files (CR delimited): StripChar -1 LineChar 13 AddCR 1 AddLF 0 Binary files (fixed record length): StripChar -1 LineChar -1 AddCR 0 AddLF 0 LoadMargin 64 ForceNewLine 0 ═══ 7.1.3. Configuration of Tab options ═══ ═══ 8. Event Bindings ═══ eventmap section is used to bind editor commands to user events. ═══ 8.1. Keybindings ═══ Keybindings are inherited from parent modes unless overriden. Here are some examples of key specifiactions: [A] Uppercase a [a] Lowercase a [;] Semicolon [A+A] Alt+A [C+B] Ctrl+B [A+C+F1] Alt+Ctrl+F1 [A+C+S+F1] Alt+Ctrl+Shift+F1 [A+Space] Alt+Space [C+K_C+B] Ctrl+K and then Ctrl+B (two keys) [C+A_C+B_C+C] Ctrl+A Ctrl+B Ctrl+C must be pressed in sequence. [G+-] Gray - [G++] Gray + [C-S-X] X, ignore the state of Ctrl and Shift keys. [C+\\] Ctrl+Backslash [C+\[] Ctrl+[ [C+G-Left] Ctrl+Left, ignore difference between the two Left keys. [C+A-A] Ctrl+A, ignore the state of Alt key. The following special keys are available (case sensitive): F1-F12 Home End PgUp PgDn Insert Delete Up Down Left Right Enter Esc BackSp Space Tab Center Keyname can be preceeded by modifiers (A, C, G, S). If modifier is followed by a + (plus), the modifier key must be pressed to match the key specification. If the modifier key is followed by - (minus), the state of the modifier key is ignored. Multiple-key combinations can be specified by separating them with _ (underline) Keys are bound using the key command: key [keyspec] { editor commands } ASCII characters >= 32 are bound to TypeChar by default. Any number of commands can be bound to a key combination or menu item. They are executed in sequence until one of them fails. See ui_fte.fte configuration file for examples and default configuration. ═══ 8.2. Abbreviations ═══ Abbreviations are used to automatically replace some text or run an editor macro when some word is typed in. When a non-word character is entered, the previous word is searched for in the list of abbreviations. When it is found, it is either replaced with a new string or a macro is executed. Syntax: abbrev 'old-word' 'new-string' abbrev 'old-word' { Macro } Some examples of abbreviations: abbrev 'wcsw' 'WinCreateStdWindow'; abbrev 'ifx' { KillWordPrev; InsertString 'if () {'; LineIndent; LineNew; InsertString '}'; LineIndent; MoveUp; MoveLineEnd; 3:MoveLeft; Fail; # do not insert typed character } The first one defines a replacement string, while the second one defines an editor macro to be run. For abbreviations to work, setting Abbreviations must be set to 1 for active mode. ═══ 8.3. EventMap Settings ═══ ═══ 8.3.1. MainMenu ═══ "menu" Main menu displayed when editing in this mode. ═══ 8.3.2. LocalMenu ═══ "menu" Local menu used when editing in this mode. ═══ 9. Macro Commands ═══ o Cursor Movement o Deleting Text o Line Commands o Block Commands o Text Editing and Insertion o Folding Text o Bookmarks o Character Translation o File Commands o o o Window Commands o Compiler Support o TAGS Commands o Option commands o Other commands ═══ 9.1. Cursor Movement ═══ o MoveDown o MoveUp o MoveLeft o MoveRight o MovePrev o MoveNext o MoveWordLeft o MoveWordRight o MoveWordPrev o MoveWordNext o MoveWordEndLeft o MoveWordEndRight o MoveWordEndPrev o MoveWordEndNext o MoveLineStart o MoveLineEnd o MovePageStart o MovePageEnd o MovePageUp o MovePageDown o MoveFileStart o MoveFileEnd o MovePageLeft o MovePageRight o MoveBlockStart o MoveBlockEnd o MoveFirstNonWhite o MoveLastNonWhite o MovePrevEqualIndent o MoveNextEqualIndent o MovePrevTab o MoveNextTab o MoveTabStart o MoveTabEnd o MoveLineTop o MoveLineCenter o MoveLineBottom o ScrollLeft o ScrollRight o ScrollDown o ScrollUp o MoveFoldTop o MoveFoldPrev o MoveFoldNext o MoveBeginOrNonWhite o MoveBeginLinePageFile o MoveEndLinePageFile o MoveToLine o MoveToColumn o MoveSavedPosCol o MoveSavedPosRow o MoveSavedPos o SavePos o MovePrevPos SEE ALSO: CursorTroughTabs, Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.1.1. MoveDown ═══ Move cursor to next line. SEE ALSO: Cursor Movement. ═══ 9.1.2. MoveUp ═══ Move cursor to previous line SEE ALSO: Cursor Movement. ═══ 9.1.3. MoveLeft ═══ Move cursor to previous column. SEE ALSO: Cursor Movement. ═══ 9.1.4. MoveRight ═══ Move cursor to next column. SEE ALSO: Cursor Movement. ═══ 9.1.5. MovePrev ═══ Move cursor to previous character. Moves to end of the previous line if cursor is at the beginning of line. SEE ALSO: Cursor Movement. ═══ 9.1.6. MoveNext ═══ Move cursor to next character. Moves to the beginning of next line if cursor is at the end of line. SEE ALSO: Cursor Movement. ═══ 9.1.7. MoveWordLeft ═══ Move cursor to the beginning of the word on the left. SEE ALSO: Cursor Movement. ═══ 9.1.8. MoveWordRight ═══ Move cursor to the beginning of the word on the right. SEE ALSO: Cursor Movement. ═══ 9.1.9. MoveWordPrev ═══ Move cursor to the beginning of the previous word. SEE ALSO: Cursor Movement. ═══ 9.1.10. MoveWordNext ═══ Move cursor to the beginning of the next word. SEE ALSO: Cursor Movement. ═══ 9.1.11. MoveWordEndLeft ═══ Move cursor to the end of the previous word. SEE ALSO: Cursor Movement. ═══ 9.1.12. MoveWordEndRight ═══ Move cursor to the end of the word on the right. SEE ALSO: Cursor Movement. ═══ 9.1.13. MoveWordEndPrev ═══ Move cursor to the end of the previous word. SEE ALSO: Cursor Movement. ═══ 9.1.14. MoveWordEndNext ═══ Move cursor to the end of the next word. SEE ALSO: Cursor Movement. ═══ 9.1.15. MoveLineStart ═══ Move cursor to the beginning of line. SEE ALSO: Cursor Movement. ═══ 9.1.16. MoveLineEnd ═══ Move cursor to the end of line. SEE ALSO: Cursor Movement. ═══ 9.1.17. MovePageStart ═══ Move cursor to the first line on current page. SEE ALSO: Cursor Movement. ═══ 9.1.18. MovePageEnd ═══ Move cursor to the last line on currently page. SEE ALSO: Cursor Movement. ═══ 9.1.19. MovePageUp ═══ Display previous page. SEE ALSO: Cursor Movement. ═══ 9.1.20. MovePageDown ═══ Display next page. SEE ALSO: Cursor Movement. ═══ 9.1.21. MoveFileStart ═══ Move cursor to the beginning of file. SEE ALSO: Cursor Movement. ═══ 9.1.22. MoveFileEnd ═══ Move cursor to the end of file. SEE ALSO: Cursor Movement. ═══ 9.1.23. MovePageLeft ═══ Scroll horizontally to display page on the left. SEE ALSO: Cursor Movement. ═══ 9.1.24. MovePageRight ═══ Scroll horizontally to display page on the right. SEE ALSO: Cursor Movement. ═══ 9.1.25. MoveBlockStart ═══ Move cursor to the beginning of block. SEE ALSO: Cursor Movement. ═══ 9.1.26. MoveBlockEnd ═══ Move cursor to end beginning of block. SEE ALSO: Cursor Movement. ═══ 9.1.27. MoveFirstNonWhite ═══ Move cursor to the first non-blank character on line. SEE ALSO: Cursor Movement. ═══ 9.1.28. MoveLastNonWhite ═══ Move cursor to the last non-blank character on line. SEE ALSO: Cursor Movement. ═══ 9.1.29. MovePrevEqualIndent ═══ Move cursor to the previous line with equal indentation. SEE ALSO: Cursor Movement. ═══ 9.1.30. MoveNextEqualIndent ═══ Move cursor to the next line with equal indentation. SEE ALSO: Cursor Movement. ═══ 9.1.31. MovePrevTab ═══ Move cursor to the previous tab position. SEE ALSO: Cursor Movement. ═══ 9.1.32. MoveNextTab ═══ Move cursor to the next tab position. SEE ALSO: Cursor Movement. ═══ 9.1.33. MoveTabStart ═══ When cursor is on the tab characters, moves it to the beginning of the tab. SEE ALSO: Cursor Movement. ═══ 9.1.34. MoveTabEnd ═══ When cursor is on the tab characters, moves it to the end of the tab. SEE ALSO: Cursor Movement. ═══ 9.1.35. MoveLineTop ═══ Scroll the file to make the current line appear on the top of the window. SEE ALSO: Cursor Movement. ═══ 9.1.36. MoveLineCenter ═══ Scroll the file to make the current line appear on the center of the window. SEE ALSO: Cursor Movement. ═══ 9.1.37. MoveLineBottom ═══ Scroll the file to make the current line appear on the bottom of the window. SEE ALSO: Cursor Movement. ═══ 9.1.38. ScrollLeft ═══ Scroll screen left. SEE ALSO: Cursor Movement. ═══ 9.1.39. ScrollRight ═══ Scroll screen right. SEE ALSO: Cursor Movement. ═══ 9.1.40. ScrollDown ═══ Scroll screen down. SEE ALSO: Cursor Movement. ═══ 9.1.41. ScrollUp ═══ Scroll screen up. SEE ALSO: Cursor Movement. ═══ 9.1.42. MoveFoldTop ═══ Move to the beginning of current fold. SEE ALSO: Cursor Movement. ═══ 9.1.43. MoveFoldPrev ═══ Move to the beginning of previous fold. SEE ALSO: Cursor Movement. ═══ 9.1.44. MoveFoldNext ═══ Move to the beginning of next fold. SEE ALSO: Cursor Movement. ═══ 9.1.45. MoveBeginOrNonWhite ═══ Move to beginning of line, or to first non blank character SEE ALSO: Cursor Movement. ═══ 9.1.46. MoveBeginLinePageFile ═══ Move to the beginning of line. If there already, move to the beginning page. If there already, move to the beginning of file. SEE ALSO: Cursor Movement. ═══ 9.1.47. MoveEndLinePageFile ═══ Move to the end of line. If there already, move to the end page. If there already, move to the end of file. SEE ALSO: Cursor Movement. ═══ 9.1.48. MoveToLine ═══ Move to line number given as argument SEE ALSO: Cursor Movement. ═══ 9.1.49. MoveToColumn ═══ Move to column given as argument SEE ALSO: Cursor Movement. ═══ 9.1.50. MoveSavedPosCol ═══ Move to column from saved position SEE ALSO: Cursor Movement. ═══ 9.1.51. MoveSavedPosRow ═══ Move to line from saved position SEE ALSO: Cursor Movement. ═══ 9.1.52. MoveSavedPos ═══ Move to saved position SEE ALSO: Cursor Movement. ═══ 9.1.53. SavePos ═══ Save current cursor position SEE ALSO: Cursor Movement. ═══ 9.1.54. MovePrevPos ═══ Move to last cursor position SEE ALSO: Cursor Movement. ═══ 9.2. Deleting Text ═══ o KillLine o KillChar o KillCharPrev o KillWord o KillWordPrev o KillToLineStart o KillToLineEnd o KillBlock o KillBlockOrChar o KillBlockOrCharPrev o Delete o BackSpace SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.2.1. KillLine ═══ Delete current line. If the line is the last line in the file, only the text is deleted. SEE ALSO: Deleting Text. ═══ 9.2.2. KillChar ═══ Delete character under (after) cursor. SEE ALSO: Deleting Text. ═══ 9.2.3. KillCharPrev ═══ Delete character before cursor. SEE ALSO: Deleting Text. ═══ 9.2.4. KillWord ═══ Delete the word after cursor. SEE ALSO: Deleting Text. ═══ 9.2.5. KillWordPrev ═══ Delete the word before cursor. SEE ALSO: Deleting Text. ═══ 9.2.6. KillToLineStart ═══ Delete characters to the beginning of line. SEE ALSO: Deleting Text. ═══ 9.2.7. KillToLineEnd ═══ Delete characters to the end of line. SEE ALSO: Deleting Text. ═══ 9.2.8. KillBlock ═══ Delete block. SEE ALSO: Deleting Text. ═══ 9.2.9. KillBlockOrChar ═══ If block is marked, delete it, otherwise delete character under cursor. SEE ALSO: Deleting Text. ═══ 9.2.10. KillBlockOrCharPrev ═══ If block is marked, delete it, otherwise delete character before cursor. SEE ALSO: Deleting Text. ═══ 9.2.11. Delete ═══ Delete character under (after) cursor. SEE ALSO: DeleteKillTab, DeleteKillBlock, Deleting Text. ═══ 9.2.12. BackSpace ═══ Delete character before cursor. SEE ALSO: BackSpKillTab, BackSpKillBlock, Deleting Text. ═══ 9.3. Line Commands ═══ o LineInsert o LineAdd o LineSplit o LineJoin o LineNew o LineIndent o LineTrim o LineDuplicate o LineCenter SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.3.1. LineInsert ═══ Insert a new line before the current one. SEE ALSO: Line Commands. ═══ 9.3.2. LineAdd ═══ Add a new line after the current one. SEE ALSO: Line Commands. ═══ 9.3.3. LineSplit ═══ Split current line after cursor position SEE ALSO: Line Commands. ═══ 9.3.4. LineJoin ═══ Join current line with next one. If cursor is positioned beyond the end of line, the current line is first padded with whitespace. SEE ALSO: Line Commands. ═══ 9.3.5. LineNew ═══ Append a new line and move to the beginning of new line. SEE ALSO: Line Commands. ═══ 9.3.6. LineIndent ═══ Reindent current line. SEE ALSO: Line Commands. ═══ 9.3.7. LineTrim ═══ Trim whitespace at the end of current line. SEE ALSO: Line Commands. ═══ 9.3.8. LineDuplicate ═══ Duplicate the current line. SEE ALSO: Line Commands. ═══ 9.3.9. LineCenter ═══ Center the current line SEE ALSO: Line Commands. ═══ 9.4. Block Commands ═══ o BlockBegin o BlockEnd o BlockUnmark o BlockCut o BlockCopy o BlockCutAppend o BlockCopyAppend o BlockClear o BlockPaste o BlockKill o BlockIndent o BlockUnindent o BlockMarkStream o BlockMarkLine o BlockMarkColumn o BlockExtendBegin o BlockExtendEnd o BlockReIndent o BlockSelectWord o BlockSelectLine o BlockSelectPara o BlockPasteStream o BlockPasteLine o BlockPasteColumn o BlockPrint o BlockRead o BlockReadStream o BlockReadLine o BlockReadColumn o BlockWrite o BlockSort o BlockSortReverse o BlockUnTab o BlockEnTab o BlockMarkFunction o BlockTrim SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.4.1. BlockBegin ═══ Set block beginning to current position. SEE ALSO: Block Commands. ═══ 9.4.2. BlockEnd ═══ Set block end to current position. SEE ALSO: Block Commands. ═══ 9.4.3. BlockUnmark ═══ Unmark block. SEE ALSO: Block Commands. ═══ 9.4.4. BlockCut ═══ Cut selected block to clipboard. SEE ALSO: Block Commands. ═══ 9.4.5. BlockCopy ═══ Copy selected block to clipboard. SEE ALSO: Block Commands. ═══ 9.4.6. BlockCutAppend ═══ Cut selected block and append it to clipboard. SEE ALSO: Block Commands. ═══ 9.4.7. BlockCopyAppend ═══ Append selected block to clipboard. SEE ALSO: Block Commands. ═══ 9.4.8. BlockClear ═══ Clear selected block SEE ALSO: Block Commands. ═══ 9.4.9. BlockPaste ═══ Paste clipboard to current position. SEE ALSO: Block Commands. ═══ 9.4.10. BlockKill ═══ Delete selected text. SEE ALSO: Block Commands. ═══ 9.4.11. BlockIndent ═══ Indent block by 1 character. SEE ALSO: Block Commands. ═══ 9.4.12. BlockUnindent ═══ Unindent block by 1 character. SEE ALSO: Block Commands. ═══ 9.4.13. BlockMarkStream ═══ Start/stop marking stream block. SEE ALSO: Block Commands. ═══ 9.4.14. BlockMarkLine ═══ Start/stop marking line block. SEE ALSO: Block Commands. ═══ 9.4.15. BlockMarkColumn ═══ Start/stop marking column block. SEE ALSO: Block Commands. ═══ 9.4.16. BlockExtendBegin ═══ Start extending selected block. SEE ALSO: Block Commands. ═══ 9.4.17. BlockExtendEnd ═══ Stop extending selected block. SEE ALSO: Block Commands. ═══ 9.4.18. BlockReIndent ═══ Reindent entire block (C/REXX mode) SEE ALSO: Block Commands. ═══ 9.4.19. BlockSelectWord ═══ Select word under cursor as block. SEE ALSO: Block Commands. ═══ 9.4.20. BlockSelectLine ═══ Select current line as block. SEE ALSO: Block Commands. ═══ 9.4.21. BlockSelectPara ═══ Select current paragraph (delimited by blank lines) as block. SEE ALSO: Block Commands. ═══ 9.4.22. BlockPasteStream ═══ Paste clipboard to current position as stream block. SEE ALSO: Block Commands. ═══ 9.4.23. BlockPasteLine ═══ Paste clipboard to current position as line block. SEE ALSO: Block Commands. ═══ 9.4.24. BlockPasteColumn ═══ Paste clipboard to current position as column block. SEE ALSO: Block Commands. ═══ 9.4.25. BlockPrint ═══ Print a block to configured device. SEE ALSO: Block Commands. ═══ 9.4.26. BlockRead ═══ Read block from file. SEE ALSO: Block Commands. ═══ 9.4.27. BlockReadStream ═══ Read block from file as stream block SEE ALSO: Block Commands. ═══ 9.4.28. BlockReadLine ═══ Read block from file as line block SEE ALSO: Block Commands. ═══ 9.4.29. BlockReadColumn ═══ Read block from file as column block SEE ALSO: Block Commands. ═══ 9.4.30. BlockWrite ═══ Write marked block to file. SEE ALSO: Block Commands. ═══ 9.4.31. BlockSort ═══ Sorts the marked block in ascending order. If mode setting MatchCase is set, characters will be compared case sensitively. When block is marked in Stream or Line mode, the entire lines in marked block will be compared. When block is marked in Column mode, only characters within marked columns will be compared. SEE ALSO: Block Commands. ═══ 9.4.32. BlockSortReverse ═══ Sorts the marked block in descending order. SEE ALSO: Block Commands. ═══ 9.4.33. BlockUnTab ═══ Remove tabs from marked lines. SEE ALSO: Block Commands. ═══ 9.4.34. BlockEnTab ═══ Generate and optimize tabs in marked lines. SEE ALSO: Block Commands. ═══ 9.4.35. BlockMarkFunction ═══ Mark current function as block. SEE ALSO: Block Commands. ═══ 9.4.36. BlockTrim ═══ Trim end-of-line whitespace SEE ALSO: Block Commands. ═══ 9.5. Text Editing and Insertion ═══ o Undo o Redo SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.5.1. Undo ═══ Undo last operation SEE ALSO: Text Editing and Insertion. ═══ 9.5.2. Redo ═══ Redo last undone operation. SEE ALSO: Text Editing and Insertion. ═══ 9.6. Folding Text ═══ o FoldCreate o FoldCreateByRegexp o FoldCreateAtRoutines o FoldDestroy o FoldDestroyAll o FoldPromote o FoldDemote o FoldOpen o FoldOpenNested o FoldClose o FoldOpenAll o FoldCloseAll o FoldToggleOpenClose SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.6.1. FoldCreate ═══ Create fold SEE ALSO: Folding Text. ═══ 9.6.2. FoldCreateByRegexp ═══ Create folds at lines matching a regular expression SEE ALSO: Folding Text. ═══ 9.6.3. FoldCreateAtRoutines ═══ Create folds at lines matching RoutineRx SEE ALSO: Folding Text. ═══ 9.6.4. FoldDestroy ═══ Destroy fold at current line SEE ALSO: Folding Text. ═══ 9.6.5. FoldDestroyAll ═══ Destroy all folds in the file SEE ALSO: Folding Text. ═══ 9.6.6. FoldPromote ═══ Promote fold to outer level SEE ALSO: Folding Text. ═══ 9.6.7. FoldDemote ═══ Demote fold to inner level SEE ALSO: Folding Text. ═══ 9.6.8. FoldOpen ═══ Open fold at current line SEE ALSO: Folding Text. ═══ 9.6.9. FoldOpenNested ═══ Open fold and nested folds SEE ALSO: Folding Text. ═══ 9.6.10. FoldClose ═══ Close current fold SEE ALSO: Folding Text. ═══ 9.6.11. FoldOpenAll ═══ Open all folds in the file SEE ALSO: Folding Text. ═══ 9.6.12. FoldCloseAll ═══ Close all folds in the file SEE ALSO: Folding Text. ═══ 9.6.13. FoldToggleOpenClose ═══ Toggle open/close current fold. SEE ALSO: Folding Text. ═══ 9.7. Bookmarks ═══ o PlaceBookmark o RemoveBookmark o GotoBookmark o PlaceGlobalBookmark o RemoveGlobalBookmark o GotoGlobalBookmark o PushGlobalBookmark o PopGlobalBookmark SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.7.1. PlaceBookmark ═══ Place a file-local bookmark. SEE ALSO: Bookmarks. ═══ 9.7.2. RemoveBookmark ═══ Place a file-local bookmark. SEE ALSO: Bookmarks. ═══ 9.7.3. GotoBookmark ═══ Go to file-local bookmark location. SEE ALSO: Bookmarks. ═══ 9.7.4. PlaceGlobalBookmark ═══ Place global (persistent) bookmark. SEE ALSO: Bookmarks. ═══ 9.7.5. RemoveGlobalBookmark ═══ Remove global bookmark. SEE ALSO: Bookmarks. ═══ 9.7.6. GotoGlobalBookmark ═══ Go to global bookmark location. SEE ALSO: Bookmarks. ═══ 9.7.7. PushGlobalBookmark ═══ Push global bookmark (named as #) to stack. SEE ALSO: Bookmarks. ═══ 9.7.8. PopGlobalBookmark ═══ Pop global bookmark from stack. SEE ALSO: Bookmarks. ═══ 9.8. Character Translation ═══ o CharCaseUp o CharCaseDown o CharCaseToggle o CharTrans o LineCaseUp o LineCaseDown o LineCaseToggle o LineTrans o BlockCaseUp o BlockCaseDown o BlockCaseToggle o BlockTrans o InsertString o InsertSpace o InsertChar o TypeChar o InsertTab o InsertSpacesToTab o SelfInsert o WrapPara o InsPrevLineChar o InsPrevLineToEol o CompleteWord o FilePrev o FileNext o FileLast o SwitchTo SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.8.1. CharCaseUp ═══ Convert current character to uppercase SEE ALSO: Character Translation. ═══ 9.8.2. CharCaseDown ═══ Convert current character to lowercase SEE ALSO: Character Translation. ═══ 9.8.3. CharCaseToggle ═══ Toggle case of current character SEE ALSO: Character Translation. ═══ 9.8.4. CharTrans ═══ Translate current character (like perl/sed) SEE ALSO: Character Translation. ═══ 9.8.5. LineCaseUp ═══ Convert current line to uppercase SEE ALSO: Character Translation. ═══ 9.8.6. LineCaseDown ═══ Convert current line to lowercase SEE ALSO: Character Translation. ═══ 9.8.7. LineCaseToggle ═══ Toggle case of current line SEE ALSO: Character Translation. ═══ 9.8.8. LineTrans ═══ Translate characters on current line SEE ALSO: Character Translation. ═══ 9.8.9. BlockCaseUp ═══ Convert characters in selected block to uppercase SEE ALSO: Character Translation. ═══ 9.8.10. BlockCaseDown ═══ Convert characters in selected block to lowercase SEE ALSO: Character Translation. ═══ 9.8.11. BlockCaseToggle ═══ Toggle case of characters in selected block SEE ALSO: Character Translation. ═══ 9.8.12. BlockTrans ═══ Translate characters in selected block. SEE ALSO: Character Translation. ═══ 9.8.13. InsertString ═══ Insert argument string at cursor position SEE ALSO: Character Translation. ═══ 9.8.14. InsertSpace ═══ Insert space SEE ALSO: Character Translation. ═══ 9.8.15. InsertChar ═══ Insert character argument at cursor position SEE ALSO: Character Translation. ═══ 9.8.16. TypeChar ═══ Insert character at cursor position (expanding abbreviations) SEE ALSO: Character Translation. ═══ 9.8.17. InsertTab ═══ Insert tab character at cursor position SEE ALSO: Character Translation. ═══ 9.8.18. InsertSpacesToTab ═══ Insert appropriate number of spaces to simulate a tab. SEE ALSO: Character Translation. ═══ 9.8.19. SelfInsert ═══ Insert typed character SEE ALSO: Character Translation. ═══ 9.8.20. WrapPara ═══ Wrap current paragraph SEE ALSO: Character Translation. ═══ 9.8.21. InsPrevLineChar ═══ Insert character in previous line above cursor SEE ALSO: Character Translation. ═══ 9.8.22. InsPrevLineToEol ═══ Insert previous line from cursor to end of line SEE ALSO: Character Translation. ═══ 9.8.23. CompleteWord ═══ Complete current word to last word starting with the same prefix. SEE ALSO: Character Translation. ═══ 9.8.24. FilePrev ═══ Switch to previous file in ring. SEE ALSO: Character Translation. ═══ 9.8.25. FileNext ═══ Switch to next file in ring. SEE ALSO: Character Translation. ═══ 9.8.26. FileLast ═══ Exchange last two files in ring. SEE ALSO: Character Translation. ═══ 9.8.27. SwitchTo ═══ Switch to numbered buffer given as argument SEE ALSO: Character Translation. ═══ 9.9. File Commands ═══ o FileOpen o FileOpenInMode o FileReload o FileSave o FileSaveAll o FileSaveAs o FileWriteTo o FilePrint o FileClose o FileCloseAll o FileTrim SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.9.1. FileOpen ═══ Open file SEE ALSO: File Commands. ═══ 9.9.2. FileOpenInMode ═══ Open file in specified mode SEE ALSO: File Commands. ═══ 9.9.3. FileReload ═══ Reload current file SEE ALSO: File Commands. ═══ 9.9.4. FileSave ═══ Save current file SEE ALSO: File Commands. ═══ 9.9.5. FileSaveAll ═══ Save all modified files SEE ALSO: File Commands. ═══ 9.9.6. FileSaveAs ═══ Rename Save current file SEE ALSO: File Commands. ═══ 9.9.7. FileWriteTo ═══ Write current file into another file SEE ALSO: File Commands. ═══ 9.9.8. FilePrint ═══ Print current file SEE ALSO: File Commands. ═══ 9.9.9. FileClose ═══ Close current file SEE ALSO: File Commands. ═══ 9.9.10. FileCloseAll ═══ Close all open files SEE ALSO: File Commands. ═══ 9.9.11. FileTrim ═══ Trim end-of-line whitespace SEE ALSO: File Commands. ═══ 9.9.12. DirOpen ═══ Open directory browser SEE ALSO: . ═══ 9.9.13. DirGoUp ═══ Change to parent directory SEE ALSO: . ═══ 9.9.14. DirGoDown ═══ Change to currently selected directory SEE ALSO: . ═══ 9.9.15. DirGoRoot ═══ Change to root directory SEE ALSO: . ═══ 9.9.16. DirGoto ═══ Change to directory given as argument SEE ALSO: . ═══ 9.9.17. IncrementalSearch ═══ Incremental search SEE ALSO: . ═══ 9.9.18. Find ═══ Find SEE ALSO: . ═══ 9.9.19. FindReplace ═══ Find and replace SEE ALSO: . ═══ 9.9.20. FindRepeat ═══ Repeat last find/replace operation SEE ALSO: . ═══ 9.9.21. FindRepeatOnce ═══ Repeat last find/replace operation only once SEE ALSO: . ═══ 9.9.22. FindRepeatReverse ═══ Repeat last find/replace operation in reverse SEE ALSO: . ═══ 9.9.23. MatchBracket ═══ Find matching bracket ([{<>}]) SEE ALSO: . ═══ 9.9.24. HilitWord ═══ Highlight current word everywhere in the file SEE ALSO: . ═══ 9.9.25. SearchWordPrev ═══ Search for previous occurence of word under cursor SEE ALSO: . ═══ 9.9.26. SearchWordNext ═══ Search for next occurence of word under cursor SEE ALSO: . ═══ 9.9.27. HilitMatchBracket ═══ Highlight matching bracket SEE ALSO: . ═══ 9.10. Window Commands ═══ o WinHSplit o WinNext o WinPrev o WinClose o WinZoom o WinResize o ViewBuffers o ListRoutines o ExitEditor o ShowEntryScreen SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.10.1. WinHSplit ═══ Split window horizontally SEE ALSO: Window Commands. ═══ 9.10.2. WinNext ═══ Switch to next (bottom) window SEE ALSO: Window Commands. ═══ 9.10.3. WinPrev ═══ Switcn to previous (top) window. SEE ALSO: Window Commands. ═══ 9.10.4. WinClose ═══ Close current window SEE ALSO: Window Commands. ═══ 9.10.5. WinZoom ═══ Delete all windows except for current one SEE ALSO: Window Commands. ═══ 9.10.6. WinResize ═══ Resize current window (+n,-n given as argument) SEE ALSO: Window Commands. ═══ 9.10.7. ViewBuffers ═══ View currently open buffers SEE ALSO: Window Commands. ═══ 9.10.8. ListRoutines ═══ Display routines in current source file SEE ALSO: Window Commands. ═══ 9.10.9. ExitEditor ═══ Exit FTE. SEE ALSO: Window Commands. ═══ 9.10.10. ShowEntryScreen ═══ View external program output if available SEE ALSO: Window Commands. ═══ 9.11. Compiler Support ═══ o Compile o RunCompiler o ViewMessages o CompileNextError o CompilePrevError o RunProgram SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.11.1. Compile ═══ Ask for compile command and run compiler SEE ALSO: Compiler Support. ═══ 9.11.2. RunCompiler ═══ Run configured compile command SEE ALSO: Compiler Support. ═══ 9.11.3. ViewMessages ═══ View compiler output SEE ALSO: Compiler Support. ═══ 9.11.4. CompileNextError ═══ Switch to next compiler error SEE ALSO: Compiler Support. ═══ 9.11.5. CompilePrevError ═══ Switch to previous compiler error SEE ALSO: Compiler Support. ═══ 9.11.6. RunProgram ═══ Run external program SEE ALSO: Compiler Support. ═══ 9.12. TAGS Commands ═══ o TagFind o TagFindWord o TagNext o TagPrev o TagPop o TagLoad o TagClear o TagGoto fte supports TAGS files generated by programs like ctags. SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.12.1. TagFind ═══ Find word argumen in tag files. SEE ALSO: TAGS Commands. ═══ 9.12.2. TagFindWord ═══ Find word under cursor in tag files. SEE ALSO: TAGS Commands. ═══ 9.12.3. TagNext ═══ Switch to next occurance of tag SEE ALSO: TAGS Commands. ═══ 9.12.4. TagPrev ═══ Switch to previous occurance of tag SEE ALSO: TAGS Commands. ═══ 9.12.5. TagPop ═══ Pop saved position from tag stack SEE ALSO: TAGS Commands. ═══ 9.12.6. TagLoad ═══ Load tag file and merge with current tags SEE ALSO: TAGS Commands. ═══ 9.12.7. TagClear ═══ Clear loaded tags SEE ALSO: TAGS Commands. ═══ 9.12.8. TagGoto ═══ SEE ALSO: TAGS Commands. ═══ 9.13. Option commands ═══ o ToggleAutoIndent o ToggleInsert o ToggleExpandTabs o ToggleShowTabs o ToggleUndo o ToggleReadOnly o ToggleKeepBackups o ToggleMatchCase o ToggleBackSpKillTab o ToggleDeleteKillTab o ToggleSpaceTabs o ToggleIndentWithTabs o ToggleBackSpUnindents o ToggleWordWrap o ToggleTrim o ToggleShowMarkers o SetLeftMargin o SetRightMargin o ToggleSysClipboard o SetPrintDevice o ChangeTabSize o ChangeLeftMargin o ChangeRightMargin SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.13.1. ToggleAutoIndent ═══ SEE ALSO: Option commands. ═══ 9.13.2. ToggleInsert ═══ SEE ALSO: Option commands. ═══ 9.13.3. ToggleExpandTabs ═══ SEE ALSO: Option commands. ═══ 9.13.4. ToggleShowTabs ═══ SEE ALSO: Option commands. ═══ 9.13.5. ToggleUndo ═══ SEE ALSO: Option commands. ═══ 9.13.6. ToggleReadOnly ═══ SEE ALSO: Option commands. ═══ 9.13.7. ToggleKeepBackups ═══ SEE ALSO: Option commands. ═══ 9.13.8. ToggleMatchCase ═══ SEE ALSO: Option commands. ═══ 9.13.9. ToggleBackSpKillTab ═══ SEE ALSO: Option commands. ═══ 9.13.10. ToggleDeleteKillTab ═══ SEE ALSO: Option commands. ═══ 9.13.11. ToggleSpaceTabs ═══ SEE ALSO: Option commands. ═══ 9.13.12. ToggleIndentWithTabs ═══ SEE ALSO: Option commands. ═══ 9.13.13. ToggleBackSpUnindents ═══ SEE ALSO: Option commands. ═══ 9.13.14. ToggleWordWrap ═══ SEE ALSO: Option commands. ═══ 9.13.15. ToggleTrim ═══ SEE ALSO: Option commands. ═══ 9.13.16. ToggleShowMarkers ═══ SEE ALSO: Option commands. ═══ 9.13.17. SetLeftMargin ═══ SEE ALSO: Option commands. ═══ 9.13.18. SetRightMargin ═══ SEE ALSO: Option commands. ═══ 9.13.19. ToggleSysClipboard ═══ SEE ALSO: Option commands. ═══ 9.13.20. SetPrintDevice ═══ SEE ALSO: Option commands. ═══ 9.13.21. ChangeTabSize ═══ SEE ALSO: Option commands. ═══ 9.13.22. ChangeLeftMargin ═══ SEE ALSO: Option commands. ═══ 9.13.23. ChangeRightMargin ═══ SEE ALSO: Option commands. ═══ 9.14. Other commands ═══ o ShowPosition o ShowVersion o ShowKey o WinRefresh o MainMenu o ShowMenu o LocalMenu o ChangeMode o ChangeKeys o ChangeFlags o Cancel o Activate o Rescan o CloseActivate o ActivateInOtherWindow o ASCIITable o DesktopSave o ClipClear o DesktopSaveAs o ChildClose o BufListFileSave o BufListFileClose o ViewModeMap o ClearMessages o IndentFunction o MoveFunctionPrev o MoveFunctionNext o InsertDate o InsertUid o FrameNew o FrameClose o FrameNext o FramePrev o BufferViewNext o BufferViewPrev o ShowHelpWord o ShowHelp o ConfigRecompile o SetCIndentStyle SEE ALSO: Cursor Movement, Deleting Text, Line Commands, Block Commands, Text Editing and Insertion, Folding Text, Bookmarks, Character Translation, File Commands, , , Window Commands, Compiler Support, TAGS Commands, Option commands, Other commands. ═══ 9.14.1. ShowPosition ═══ Show internal position information on status line SEE ALSO: Other commands. ═══ 9.14.2. ShowVersion ═══ Show editor version information SEE ALSO: Other commands. ═══ 9.14.3. ShowKey ═══ Wait for keypress and display modifiers+key pressed SEE ALSO: Other commands. ═══ 9.14.4. WinRefresh ═══ Refresh display SEE ALSO: Other commands. ═══ 9.14.5. MainMenu ═══ Activate main menu SEE ALSO: Other commands. ═══ 9.14.6. ShowMenu ═══ Popup menu specified as argument SEE ALSO: Other commands. ═══ 9.14.7. LocalMenu ═══ Popup context menu SEE ALSO: Other commands. ═══ 9.14.8. ChangeMode ═══ Change active mode for current buffer SEE ALSO: Other commands. ═══ 9.14.9. ChangeKeys ═══ Change keybindings for current buffer SEE ALSO: Other commands. ═══ 9.14.10. ChangeFlags ═══ Change option flags for current buffer SEE ALSO: Other commands. ═══ 9.14.11. Cancel ═══ SEE ALSO: Other commands. ═══ 9.14.12. Activate ═══ SEE ALSO: Other commands. ═══ 9.14.13. Rescan ═══ SEE ALSO: Other commands. ═══ 9.14.14. CloseActivate ═══ SEE ALSO: Other commands. ═══ 9.14.15. ActivateInOtherWindow ═══ SEE ALSO: Other commands. ═══ 9.14.16. ASCIITable ═══ Display ASCII selector in status line. SEE ALSO: Other commands. ═══ 9.14.17. DesktopSave ═══ Save desktop SEE ALSO: Other commands. ═══ 9.14.18. ClipClear ═══ Clear clipboard SEE ALSO: Other commands. ═══ 9.14.19. DesktopSaveAs ═══ Save desktop under a new name SEE ALSO: Other commands. ═══ 9.14.20. ChildClose ═══ SEE ALSO: Other commands. ═══ 9.14.21. BufListFileSave ═══ Save currently selected file in buffer list SEE ALSO: Other commands. ═══ 9.14.22. BufListFileClose ═══ Close currently selected file in buffer list SEE ALSO: Other commands. ═══ 9.14.23. ViewModeMap ═══ View current mode keybindings SEE ALSO: Other commands. ═══ 9.14.24. ClearMessages ═══ Clear compiler messages SEE ALSO: Other commands. ═══ 9.14.25. IndentFunction ═══ Indent current function SEE ALSO: Other commands. ═══ 9.14.26. MoveFunctionPrev ═══ Move cursor to previous function SEE ALSO: Other commands. ═══ 9.14.27. MoveFunctionNext ═══ Move cursor to next function SEE ALSO: Other commands. ═══ 9.14.28. InsertDate ═══ Insert date at cursor SEE ALSO: Other commands. ═══ 9.14.29. InsertUid ═══ Insert user name at cursor SEE ALSO: Other commands. ═══ 9.14.30. FrameNew ═══ SEE ALSO: Other commands. ═══ 9.14.31. FrameClose ═══ SEE ALSO: Other commands. ═══ 9.14.32. FrameNext ═══ SEE ALSO: Other commands. ═══ 9.14.33. FramePrev ═══ SEE ALSO: Other commands. ═══ 9.14.34. BufferViewNext ═══ SEE ALSO: Other commands. ═══ 9.14.35. BufferViewPrev ═══ SEE ALSO: Other commands. ═══ 9.14.36. ShowHelpWord ═══ Show context help on keyword. SEE ALSO: Other commands. ═══ 9.14.37. ShowHelp ═══ Show help for FTE. SEE ALSO: Other commands. ═══ 9.14.38. ConfigRecompile ═══ Recompile editor configuration SEE ALSO: Other commands. ═══ 9.14.39. SetCIndentStyle ═══ Set C indentation style parameters Has the following parameters: C_Indent = 4; C_BraceOfs = 0; C_ParenDelta = -1; C_CaseOfs = 0; C_CaseDelta = 4; C_ClassOfs = 0; C_ClassDelta = 4; C_ColonOfs = -4; C_CommentOfs = 0; C_CommentDelta = 1; C_FirstLevelWidth = -1; C_FirstLevelIndent = 4; C_Continuation = 4; Set value of indent-with-tabs to argument SEE ALSO: Other commands. ═══ 10. Regular Expressions ═══ Regular expressions are a way to specify text patterns when searching for a text in a buffer. Regular expressions consist of normal characters and special operator characters with a special meanings. Operators allow you to anchor matches, match classes of characters, match given pattern several times or match alternate patterns. Operators can be also used to group patterns. ═══ 10.1. Search/Match Operators ═══ \ Quotes the following character. If the following character is not alphanumeric, it will lost it's special meaning, otherwise it will gain a special meaning as described below. \n Matches a 0x0A (LF) character. \r Matches a 0x0D (CR) character. \t Matches a 0x09 (TAB) character. \e Matches an escape character (0x1B) \s Matches whitespace (CR, LF, TAB, SPACE) characters. \S Matches non-whitespace (the reverse of \s) \w Matches word character [a-zA-Z0-9] \W Matches non-word character \d Matches a digit [0-9]. \D Matches a non-digit. \U Matches uppercase characters (A-Z) \L Matches lowercase characters (a-z) \x## Matches specified hex value (\x0A, \x0D, \x09, etc.) \o### Matches specified octal value (\o000, \o015, etc.) \N### Matches specified decimal value (\N000, \N013, \N009, etc.) \C Starts case sensitive matching. \c Starts case insensitive matching. ^ Match a beginning of line. $ Match an end of line. . Match any character. < Match beginning of word (word consists of [A-Za-z0-9]). > Match end of word. [ ] Specifies a class of characters ([abc123], [\]\x10], etc). [ - ] Specified a range of characters ([0-9a-zA-Z_], [0-9], etc) [^ ] Specifies complement class ([^a-z], [^\-], etc) ? Matches preceeding pattern optionally (a?bc, filename\.?, $?, etc) | Matches preceeding or next pattern (a|b, c|d, abc|d). Only one character will be used as pattern unless grouped together using {} or (). * Match zero or more occurances of preceeding pattern. Matching is greedy and will match as much as possible. + Match one or more occurances of preceeding pattern. Match is greedy. @ Match zero or more occurances of preceeding pattern. Matching is non-greedy and will match as little as possible without causing the rest of the pattern match to fail. # Match one or more occurances of preceeding pattern. Matching is non-greedy. { } Group patterns together to form complex pattern. ( {abc}, {abc}|{cde}, {abc}?, {word}?) ( ) Group patterns together to form complex pattern. Also used to save the matched substring into the register which can be used for substitution operation. Up to 9 registers can be used. ═══ 10.2. Replacement Operators ═══ \ Causes the next character to lose it's special meaning. \n Inserts a 0x0A (LF) character. \r Inserts a 0x0D (CR) character. \t Inserts a 0x09 (TAB) character. \1 to \9 Recalls stored substrings from registers (\1, \2, \3, to \9). \0 Recalls entire matched pattern. \u Convert next character to uppercase \l Convert next character to lowercase \U Convert to uppercase till \E or \e \L Convert to lowercase till \E or \e ═══ 11. Status Line ═══ Status line displays the following status information: position|flags|mode|curchar|mod? filename|winno position = line:column flags I Insert A Autoindent C Matches are case sensitive SLC Stream, Line, Column block-mode wW Automatic word wrap active (w = line, W = paragraph). mode = Mode name as specified in configuration file curchar = Decimal ASCII code of character under cursor, or EOL/EOF mod? = * if file was modified, % if file is read-only ═══ 12. Performance Tips ═══ If you want to achieve top performance (necessary for some text editing tasks), here are some tips: o Use PLAIN hilit mode o Disable Tab Expansion o Disable ShowMarkers o Disable Undo o Disable AutoHilitBracket o Disable Abbreviations. ═══ 13. Configuration of Syntax Highlighting ═══ Syntax: colorize Mode[:Parent] { Settings } ═══ 13.1. Settings ═══ o SyntaxParser Syntax: SyntaxParser = "Parser"; Activates the specified syntax parser for highlighting mode. Value of Parser can be chosen from: PLAIN No syntax parser, only keyword highlighting is available. SIMPLE User configurable syntax parser will be defined. C REXX HTML PERL MAKE DIFF For viewing output of diff. MERGE For editing output of rcsmerge (RCS, CVS). IPF Ada MSG For editing E-Mail, SH PASCAL TEX FTE CATBS For VIEWING ONLY of nroff formatted man-pages (formatted with backspaces). o Keywords Syntax: keyword "color_specification" { "keyword", ... }; Multiple keyword sets with different colors can be defined. o Colors Syntax: color { "color_name", "color_specification" ... }; The following color-names are available, which ones will actually be used depends on the SyntaxParser setting used: - TODO: make color names dynamic at least for user defined parsers. ═══ 13.2. Configurable Syntax Parser ═══ This is not fully stabilized yet. Might change in the future. When SyntaxParser is set to "SIMPLE", the following commands can be used to configure the state machine used for parsing the text. h_state Defines a new state for the state machine h_state state_number { "default_color_name" } h_state command takes the following parameters: state_number States must be numbered sequentially from 0 without skipping any number. default_color_name Contains the name of default color used for characters that are not matched by any transition string or keyword. h_wtype Specifies the keyword matching parameters for current state. There can be only one h_wtype keyword per state. h_wtype { next_state_if_matched, next_state_if_not_matched, next_state_if_no_keyword, "state_flags", "keyword_charset" } h_wtype takes the following arguments: next_state_if_matched The number of the next state if any keyword is matched. Can be -1 to keep current state. next_state_if_not_matched The number of the next state if no keyword is matched. Can be -1 to keep current state. next_state_if_no_keyword The number of next state if no keyword is found at all. Can be -1 to keep current state. state_flags String containing zero or more of the following characters: i Keyword matching is performed case-insensitively. h_trans Defines a new state transition for current state. h_trans { next_state, trans_flags, trans_match, color_name } h_trans command takes the following parameters: next_state The number of next state to go if a match is successful. trans_flags Determines options for matching. Can contain zero or more of the following characters: ^ Matches only at the beginning of the line. $ Matches only at the end of the line. i Match is case-insensitive. s trans_match is a character set. Matches only if the next character is part of the set. S Same as 's' but next character must not be part of the set. - After successfull match, the pointer is not advanced, matching will resume at the same position in next state. (WARNING: this can cause infinite loops). < The matched character(s) are tagged with current state number. This is important for proper operation of MatchBracket command. MatchBracket will only match braces tagged with same state number. > The matched character(s) are tagged with next state number. q On successful match quote the next character (the next character is not used for matching). Q On successful match quote the end of line (the end of line is not used for matching). trans_match When S or s option is used, a character set to be matched. When S or s options are not used, a string to be matched. h_words Specifies the set of keywords to match in this state. All characters in keywords must be part of the keyword_charset in h_wtype command for this mode. h_words "color_specification" { "keyword", ... } Works the same way as the keyword but keywords are for current state only. Multiple keyword sets with different colors can be defined. '-' can be used for color specifier do use the default keyword color specified in global settings.