# Basic Commands (Global) menu Tools { item "&Compile\tF9" { Compile "make -k " } item "&Grep" { Compile "grep -n " } # item "&Diff" { Compile "cvs diff" } item; item "Go to prev &error\tF11" { CompilePrevError } item "Go to &next error\tF12" { CompileNextError } item; item "&Messages\tS+F9" { ViewMessages } } menu Window { # item "&New " { WinNewFrame } # item; item "Split &Horizontal\tShift+F2" { WinHSplit } item "&Close view\tCtrl+Alt+F4" { WinClose } item "Close &other views\tF5" { WinZoom } item; item "Sa&ve Desktop" { DesktopSave } item "Save Desktop &As" { DesktopSaveAs } item; item "&Routines\tCtrl+I" { ListRoutines } item "&Buffers\tAlt+0" { ViewBuffers } item "&Directory\tC+M" { DirOpen } # item "&Shell" { } } menu Help { # item "&Bubblehelp PM Toolbar only" {ToggleBubbleHelp} item "&About..." { ShowVersion } } eventmap MODEL { key [C+F2] { FileSaveAll } key [F3] { FileOpen } key [F4] { WinNext } key [C+F4] { WinHSplit } key [S+F4] { WinPrev } key [A+S-F4] { WinClose } key [F5] { WinZoom } key [F6] { FileNext } key [S+F6] { FilePrev } key [A+S-F6] { FileLast } key [F10] { MainMenu } key [C+F10] { FileClose } key [C+F9] { RunProgram } key [S+F10] { LocalMenu } key [C+G-Up] { WinPrev } key [C+G-Down] { WinNext } key [A+G-PgUp] { WinPrev; MovePageUp; WinNext } key [A+G-PgDn] { WinNext; MovePageDown; WinPrev } key [A+C+G-PgUp] { WinNext; MovePageUp; WinPrev } key [A+C+G-PgDn] { WinPrev; MovePageDown; WinNext } key [A+X] { ExitEditor } key [C+S+G-Up] { WinResize -1 } key [C+S+G-Down] { WinResize +1 } # this is also useful for 'grep -n' etc. if configured key [F9] { Compile; ViewMessages } key [F11] { CompilePrevError } key [F12] { CompileNextError } key [S+F9] { ViewMessages } key [A+0] { ViewBuffers } key [A+1] { SwitchTo 1 } key [A+2] { SwitchTo 2 } key [A+3] { SwitchTo 3 } key [A+4] { SwitchTo 4 } key [A+5] { SwitchTo 5 } key [A+6] { SwitchTo 6 } key [A+7] { SwitchTo 7 } key [A+8] { SwitchTo 8 } key [A+9] { SwitchTo 9 } } # List Viewers eventmap MLIST: MODEL { key [G-Left] { MoveLeft } key [G-Right] { MoveRight } key [G-Up] { MoveUp } key [G-Down] { MoveDown } key [G-Home] { MoveLineStart } key [C+G-Home] { MovePageStart } key [G-End] { MoveLineEnd } key [C+G-End] { MovePageEnd } key [G-PgUp] { MovePageUp } key [C+G-PgUp] { MoveFileStart } key [G-PgDn] { MovePageDown } key [C+G-PgDn] { MoveFileEnd } # key [A+G-Up] { ScrollUp } # key [A+G-Down] { ScrollDown } key [C+Left] { ScrollRight } key [C+Right] { ScrollLeft } key [G-Enter] { Activate } key [Space] { ActivateInOtherWindow } key [S+Enter] { CloseActivate } key [C+R] { Rescan } } # Directory Browser menu Directory { item "&Reloadrl+R" { Rescan } item "&Close\tCtrl+F10" { FileClose } item; item "&Open file...\tF3" { FileOpen } item; item "&Next\tF6" { FileNext } item "&Previous\tShift+F6" { FilePrev } item; item "Sh&ell" { RunProgram "" } item "E&xit\tAlt+X" { ExitEditor } } menu Navigate { item "Go &< level\tCtrl+PgUp" { DirGoUp } item "Go &> level\tCtrl+PgDn" { DirGoDown } item "Go to &\\\tCtrl+\\" { DirGoRoot } # item "&/ Goto Dir\t/" { DirGoto } item "&\\ Goto Dir\t\\" { DirGoto } item "&Delete File\tCtrl+D" { DeleteFile } item; item '&A:\\' { DirGoto 'A:\\' } item '&B:\\' { DirGoto 'B:\\' } item '&C:\\' { DirGoto 'C:\\' } item '&D:\\' { DirGoto 'D:\\' } item '&E:\\' { DirGoto 'E:\\' } item '&F:\\' { DirGoto 'F:\\' } item '&G:\\' { DirGoto 'G:\\' } item '&H:\\' { DirGoto 'H:\\' } item '&I:\\' { DirGoto 'I:\\' } } menu DirMain { submenu "&Directory", Directory; submenu "&Navigate", Navigate; submenu "&Tools", Tools; submenu "&Window", Window; } eventmap DIRECTORY: MLIST { MainMenu = 'DirMain'; key [C+G-PgUp] { DirGoUp } key [C+G-PgDn] { DirGoDown } key [C+\\] { DirGoRoot } key [/] { DirGoto } key [\\] { DirGoto } key [Esc] { FileClose 0 } key [C+D] { DeleteFile } key [A+D] { MainMenu 'D' } key [A+N] { MainMenu 'N' } key [A+W] { MainMenu 'W' } key [A+T] { MainMenu 'T' } } # Buffer List eventmap BUFFERS: MLIST { key [Esc] { FileClose 0 } # 0 = do not open directory when last closed, overrides OpenAfterClose default. key [C+C] { BufListFileClose } key [F2] { BufListFileSave } } # Routine List eventmap ROUTINES: MLIST { key [Esc] { FileClose } } # Message List menu Messages { item "&Close\tCtrl+F10" { FileClose } item; item "&Next\tF6" { FileNext } item "&Previous\tShift+F6" { FilePrev } item; item "Sh&ell" { RunProgram "" } item "E&xit\tAlt+X" { ExitEditor } } menu MsgMain { submenu "&Messages", Messages; submenu "&Tools", Tools; submenu "&Window", Window; } eventmap MESSAGES: MLIST { MainMenu = "MsgMain"; key [A+M] { MainMenu 'M' } key [A+T] { MainMenu 'T' } key [A+W] { MainMenu 'W' } key [C+C] { ChildClose } # does NOT kill, just closes pipe } # Editor - Editing Modes # PLAIN # menus menu CProgrammingAK { item "&4GL" { ChangeMode '4GL' } item "ASM&51" { ChangeMode 'ASM51' } item "A&da" { ChangeMode 'Ada' } item "&ASM" { ChangeMode 'ASM' } item "ASM&370" { ChangeMode 'ASM370' } item "&BASIC" { ChangeMode 'BASIC' } item "&C" { ChangeMode 'C' } item "C&LARION" { ChangeMode 'CLARION' } item "&Eiffel" { ChangeMode 'Eiffel' } item "E&UPHORIA" { ChangeMode 'EUPHORIA' } item "&FORTRAN" { ChangeMode 'FORTRAN' } item "ICO&N" { ChangeMode 'ICON' } item "&IDL" { ChangeMode 'IDL' } item "&JAVA" { ChangeMode 'JAVA' } } menu CProgrammingLZ { item "LIS&AAC" { ChangeMode 'LISAAC' } item "&Lua" { ChangeMode 'Lua' } item "MODULA&3" { ChangeMode 'MODULA3' } item "MVS&ASM" { ChangeMode 'MVSASM' } item "&OCAML" { ChangeMode 'OCAML' } item "&PASCAL" { ChangeMode 'PASCAL' } %if(OS_OS2) item "&OS2 RESOURCE" { ChangeMode 'RESOURCE' } %endif %if(OS_NT) item "&Win RESOURCE" { ChangeMode 'RESOURCE' } %endif item "S&IOD" { ChangeMode 'SIOD' } item "&SL" { ChangeMode 'SL' } item "S&ML" { ChangeMode 'SML' } item "&UNREALSCRIPT" { ChangeMode 'UNREALSCRIPT' } item "&XPE" { ChangeMode 'XPE' } } menu CMarkupLanguages { item "&MAN" { ChangeMode 'CATBS' } item "&CSS" { ChangeMode 'CSS' } item "&HTML" { ChangeMode 'HTML' } item "&IPF" { ChangeMode 'IPF' } item "&LDSGML" { ChangeMode 'LDSGML' } item "&reST" { ChangeMode 'reST' } item "S&GML" { ChangeMode 'SGML' } item "&TEX" { ChangeMode 'TEX' } item "TEXINF&O" { ChangeMode 'TEXINFO' } item "&XML" { ChangeMode 'XML' } item "X&SLT" { ChangeMode 'XSLT' } } menu CScriptingLanguages { item "&Batch" { ChangeMode 'Batch' } item "&CMAKE" { ChangeMode 'CMAKE' } item "FA&LCON" { ChangeMode 'FALCON' } item "&FTE" { ChangeMode 'FTE' } item "&GROOVY" { ChangeMode 'GROOVY' } item "&IDC" { ChangeMode 'C' } item "&MAKE" { ChangeMode 'MAKE' } item "&PERL" { ChangeMode 'PERL' } item "P&HP" { ChangeMode 'PHP' } item "P&YTHON" { ChangeMode 'PYTHON' } item "RE&XX" { ChangeMode 'REXX' } item "&NETREXX"{ ChangeMode 'NETREXX'} item "&RPM" { ChangeMode 'RPM' } item "R&uby" { ChangeMode 'Ruby' } item "&SH" { ChangeMode 'SH' } item "S&QL" { ChangeMode 'SQL' } item "&TCL" { ChangeMode 'TCL' } %if(OS_OS2) item "WIS" { ChangeMode 'HTML' } %endif } menu CMisc { item "&AWK" { ChangeMode 'GAWK' } %if(OS_OS2) item "&CONFIGSYS" { ChangeMode 'CNFGSYS' } %endif item "&DIFF" { ChangeMode 'DIFF' } item "&EBNF" { ChangeMode 'EBNF' } %if(OS_OS2) item "Exceptq &TRP" { ChangeMode 'TRP' } %endif item "&GNU MERGE" { ChangeMode 'MERGE' } item "&MSG" { ChangeMode 'MSG' } item "&VHDL" { ChangeMode 'VHDL' } } menu OProgrammingAK { item "&4GL" { FileOpenInMode '4GL' } item "ASM&51" { FileOpenInMode 'ASM51' } item "A&da" { FileOpenInMode 'Ada' } item "&ASM" { FileOpenInMode 'ASM' } item "ASM&370" { FileOpenInMode 'ASM370' } item "&BASIC" { FileOpenInMode 'BASIC' } item "&C" { FileOpenInMode 'C' } item "C&LARION" { FileOpenInMode 'CLARION' } item "&Eiffel" { FileOpenInMode 'Eiffel' } item "E&UPHORIA" { FileOpenInMode 'EUPHORIA' } item "&FORTRAN" { FileOpenInMode 'FORTRAN' } item "ICO&N" { FileOpenInMode 'ICON' } item "&IDL" { FileOpenInMode 'IDL' } item "&JAVA" { FileOpenInMode 'JAVA' } } menu OProgrammingLZ { item "LIS&AAC" { FileOpenInMode 'LISAAC' } item "&Lua" { FileOpenInMode 'Lua' } item "MODULA&3" { FileOpenInMode 'MODULA3' } item "MVS&ASM" { FileOpenInMode 'MVSASM' } item "&OCAML" { FileOpenInMode 'OCAML' } item "&PASCAL" { FileOpenInMode 'PASCAL' } %if(OS_OS2) item "&OS2 RESOURCE" { FileOpenInMode 'RESOURCE' } %endif %if(OS_NT) item "&Win RESOURCE" { FileOpenInMode 'RESOURCE' } %endif item "S&IOD" { FileOpenInMode 'SIOD' } item "&SL" { FileOpenInMode 'SL' } item "S&ML" { FileOpenInMode 'SML' } item "&UNREALSCRIPT" { FileOpenInMode 'UNREALSCRIPT' } item "&XPE" { FileOpenInMode 'XPE' } } menu OMarkupLanguages { item "&MAN" { FileOpenInMode 'CATBS' } item "&CSS" { FileOpenInMode 'CSS' } item "&HTML" { FileOpenInMode 'HTML' } item "&IPF" { FileOpenInMode 'IPF' } item "&LDSGML" { FileOpenInMode 'LDSGML' } item "&reST" { FileOpenInMode 'reST' } item "S&GML" { FileOpenInMode 'SGML' } item "&TEX" { FileOpenInMode 'TEX' } item "TEXINF&O" { FileOpenInMode 'TEXINFO' } item "&XML" { FileOpenInMode 'XML' } item "X&SLT" { FileOpenInMode 'XSLT' } } menu OScriptingLanguages { item "&Batch" { FileOpenInMode 'Batch' } item "&CMAKE" { FileOpenInMode 'CMAKE' } item "FA&LCON" { FileOpenInMode 'FALCON' } item "&FTE" { FileOpenInMode 'FTE' } item "&GROOVY" { FileOpenInMode 'GROOVY' } item "&IDC" { FileOpenInMode 'C' } item "&MAKE" { FileOpenInMode 'MAKE' } item "&PERL" { FileOpenInMode 'PERL' } item "P&HP" { FileOpenInMode 'PHP' } item "P&YTHON" { FileOpenInMode 'PYTHON' } item "RE&XX" { FileOpenInMode 'REXX' } item "&NETREXX"{ FileOpenInMode 'NETREXX'} item "&RPM" { FileOpenInMode 'RPM' } item "R&uby" { FileOpenInMode 'Ruby' } item "&SH" { FileOpenInMode 'SH' } item "S&QL" { FileOpenInMode 'SQL' } item "&TCL" { FileOpenInMode 'TCL' } %if(OS_OS2) item "WIS" { FileOpenInMode 'HTML' } %endif } menu OMisc { item "&AWK" { FileOpenInMode 'GAWK' } %if(OS_OS2) item "&CONFIGSYS" { FileOpenInMode 'CNFGSYS' } %endif item "&DIFF" { FileOpenInMode 'DIFF' } item "&EBNF" { FileOpenInMode 'EBNF' } %if(OS_OS2) item "Exceptq &TRP" { FileOpenInMode 'TRP' } %endif item "&GNU MERGE" { FileOpenInMode 'MERGE' } item "&MSG" { FileOpenInMode 'MSG' } item "&VHDL" { FileOpenInMode 'VHDL' } } menu MOpenInMode { item "&Plain" { FileOpenInMode 'PLAIN' } item "&Text" { FileOpenInMode 'TEXT' } submenu "Programming &A-K", OProgrammingAK; submenu "Programming L-&Z", OProgrammingLZ; submenu "&Markup Languages", OMarkupLanguages; submenu "&Scripting Languages", OScriptingLanguages; submenu "&Utility output files misc", OMisc; } menu MChangeMode { item "&Plain" { ChangeMode 'PLAIN' } item "&Text" { ChangeMode 'TEXT' } item "&BIN" { ChangeMode 'BIN' } submenu "Programming &A-K", CProgrammingAK; submenu "Programming L-&Z", CProgrammingLZ; submenu "&Markup Languages", CMarkupLanguages; submenu "&Scripting Languages", CScriptingLanguages; submenu "&Utility output files misc", CMisc; } menu File { item "&Open...\tF3" { FileOpen } submenu "Open in &Mode...\tCtrl+F3", MOpenInMode; # item "Open &Binary" { FileOpenInMode 'BIN' } item "&Reload\tShift+F3" { FileReload } item "&Save\tF2" { FileSave } # OpenDoc UI Guide recomments using Write To only, not Save As, hmm. item "Save &As...\tShift+F2" { FileSaveAs } item "Save Al&l\tCtrl+F2" { FileSaveAll } item "Write &To..." { FileWriteTo } # item "Sa&ve and Close\tAlt+F2" { FileSave; FileClose } item "Prin&t" { FilePrint } item "&Close\tCtrl+F10" { FileClose } item; item "&Next\tF6" { FileNext } item "&Previous\tShift+F6" { FilePrev } item; item "Sh&ell" { RunProgram "" } item "E&xit\tAlt+X" { ExitEditor } } menu Edit { item "&Undo\tAlt+BackSp" { Undo } item "&Redo\tAlt+Shift+BackSp" { Redo } item; item "Cu&t\tShift+Del" { BlockCut } item "&Copy\tCtrl+Ins" { BlockCopy } item "&Paste\tShift+Ins" { BlockPasteStream } item "P&aste Column\tAlt+Ins" { BlockPasteColumn } item; # item "&Insert line\tShift+Enter" { LineInsert } item "&Delete line\tCtrl+Y" { KillLine } item "&Split line\tCtrl+Enter" { LineSplit } item "&Join line\tCtrl+J" { LineJoin } # item "Dup&licate line\tCtrl+D" { LineDuplicate } # item "Delete to line &end\tAlt+End" { KillToLineEnd } # item "Delete to li&ne start\tCtrl+Shift+BackSp" { KillToLineStart } item; item "&Quote Literal...\tCtrl+Q" { InsertChar } item "&ASCII Table...\tCtrl+Shift+A" { ASCIITable } } menu Translate { item "&Uppercase" { BlockCaseUp } item "&Lowercase" { BlockCaseDown } item "&Togglecase" { BlockCaseToggle } item "&Rot13" { BlockTrans 'A-Za-z' 'N-ZA-Mn-za-m' } item; item "User &specified..." { BlockTrans } } menu Block { item "&Unmark\tEsc" { BlockUnmark } item "Mark &Line\tAlt+L" { BlockMarkLine } item "Mark &Stream\tAlt+A" { BlockMarkStream } item "Mark &Column\tAlt+K" { BlockMarkColumn } item; # item "Select Wor&d" { BlockSelectWord } # item "Selec&t Line" { BlockSelectLine } # item; item "&Indent\tAlt+I" { BlockIndent } item "U&nindent\tAlt+U" { BlockUnindent } item; item "&Write..." { BlockWrite } item "&Read..." { BlockRead } item "&Print" { BlockPrint } item; submenu "Translat&e", Translate; } menu Search { item "&Find...\tCtrl+Q C+W" { Find } item "Find and &replace...\tCtrl+R" { FindReplace } item "Repeat &Last find\tCtrl+L" { FindRepeat } item "Repeat last find re&verse\tCtrl+B" { FindRepeatReverse } item "Repeat last find &once\tCtrl+N" { FindRepeatOnce } item "Incremental &search\tCtrl+S" { IncrementalSearch } item; item "&Place Bookmark..." { PlaceBookmark } item "Goto &Bookmark..." { GotoBookmark } item; item "&Match paren\tAlt+-" { MatchBracket } item "&Goto line...\tAlt+J" { MoveToLine } } menu Fold { item "&Create fold\tAlt+Gray++" { FoldCreate } item "Create folds by ®exp..." { FoldCreateByRegexp } item "&Destroy fold\tAlt+Gray+-" { FoldDestroy } item; item "&Open fold\tCtrl+Gray++" { FoldOpen } item "Open &nested folds\tCtrl+Gray+*" { FoldOpenNested } item "C&lose fold\tCtrl+Gray+-" { FoldClose } item "&Toggle fold open/close\tCtrl+Gray+/" { FoldToggleOpenClose } item; item "&Promote fold\tShift+Gray+-" { FoldPromote } item "De&mote fold\tShift+Gray++" { FoldDemote } item; item "Open &all folds\tAlt+Gray+*" { FoldOpenAll } item "Close all &folds\tAlt+Gray+/" { FoldCloseAll } item "Destro&y all folds" { FoldDestroyAll } } menu Options { submenu "Change &mode\tC+O C+M", MChangeMode; item; item "&Insert mode\tC+O C+I" { ToggleInsert } item "&Auto indent\tC+O C+A" { ToggleAutoIndent } item "&Case sensitive\tC+O C+C" { ToggleMatchCase } item "Trim &EOL spaces\tC+O C+E" { ToggleTrim } item "&Read only\tC+O C+R" { ToggleReadOnly } item "&Undo/Redo\tC+O C+U" { ToggleUndo } item "&Show markers\tC+O C+." { ToggleShowMarkers; WinRefresh } item; item "&Word wrap\tC+O C+W" { ToggleWordWrap } item "&Left margin...\tC+O A+[" { ChangeLeftMargin } item "Ri&ght margin...\tC+O A+]" { ChangeRightMargin } item; item "&Tab size...\tC+O C+T" { ChangeTabSize; WinRefresh } item "S&how tabs\tC+O Tab" { ToggleShowTabs; WinRefresh } item "E&xpand tabs\tC+O C+Tab" { ToggleExpandTabs; WinRefresh } item "&Print to... " { SetPrintDevice } # item "&Bubblehelp" {ToggleBubbleHelp} } menu Main { submenu "&File", File; submenu "&Edit", Edit; submenu "&Block", Block; submenu "&Search", Search; submenu "Fol&d", Fold; submenu "&Tools", Tools; submenu "&Window", Window; submenu "&Options", Options; submenu "&Help", Help; } menu Local { item "&Unmark\tEsc" { BlockUnmark } item "Cu&t\tShift+Del" { BlockCut } item "&Copy\tCtrl+Ins" { BlockCopy } item "&Paste\tShift+Ins" { BlockPasteStream } item "P&aste Column\tAlt+Ins" { BlockPasteColumn } item; item "Delete &line\tCtrl+Y" { KillLine } item "Delete to &EOL\tAlt+End" { KillToLineEnd } item; item "&Save\tF2" { FileSave } item "Cl&ose\tC+F10" { FileClose } } eventmap PLAIN: MODEL { # keymap for plaintext mode MainMenu = 'Main'; # menu for menubar LocalMenu = 'Local'; # local menu key [i] { ChangeKeys 'VI_INS' } key [I] { MoveLineStart; ChangeKeys 'VI_INS' } key [o] { LineAdd; MoveDown; MoveLineStart; ChangeKeys 'VI_INS' } key [O] { LineInsert; MoveLineStart; ChangeKeys 'VI_INS' } key [a] { MoveRight; ChangeKeys 'VI_INS' } key [A] { MoveLineEnd; ChangeKeys 'VI_INS' } key [r] { ToggleInsert; InsertChar; ToggleInsert } key [R] { ChangeKeys 'VI_OVER'; ToggleInsert } key [d] { ChangeKeys 'VI_DELETE' } key [D] { KillToLineEnd } key [y] { ChangeKeys 'VI_YANK' } key [x] { KillChar } key [X] { KillCharPrev } key [h] { MoveLeft } key [j] { MoveDown } key [k] { MoveUp } key [l] { MoveRight } key [$] { MoveLineEnd } key [0] { MoveLineStart } key [^] { MoveFirstNonWhite } key [:_q] { FileClose } key [:_w] { FileSave } key [:_e] { FileOpen } key [:_n] { FileNext } key [:_N] { FilePrev } #key [/] { SearchRx } #key [n] { SearchAgain } key [P] { BlockPaste } key [p] { BlockPaste } key [B] { MoveWordPrev } key [b] { MoveWordPrev } key [w] { MoveWordNext } key [W] { MoveWordNext } key [e] { MoveWordEndNext } key [E] { MoveWordEndNext } key [c] { ChangeKeys 'VI_CHANGE' } key [C+N] { MoveDown } key [C+P] { MoveUp } key [C+B] { MovePageUp } key [C+F] { MovePageDown } key [%] { MatchBracket } key [u] { Undo } key [C+R] { Redo } key [BackSp] { MoveLeft } key [Space] { MoveRight } key [G-Enter] { MoveDown; MoveLineStart } key [-] { MoveUp; MoveLineStart } key [+] { MoveDown; MoveLineStart } key [J] { LineJoin } key [C] { KillToLineEnd; ChangeKeys 'VI_INS' } key [G-Left] { MoveLeft } key [C+G-Left] { MoveWordPrev } key [G-Right] { MoveRight } key [C+G-Right] { MoveWordNext } key [G-Up] { MoveUp } key [G-Down] { MoveDown } key [G-Home] { MoveLineStart } key [C+G-Home] { MovePageStart } key [G-End] { MoveLineEnd } key [C+G-End] { MovePageEnd } key [G-PgUp] { MovePageUp } key [C+G-PgUp] { MoveFileStart } key [G-PgDn] { MovePageDown } key [G-C+PgDn] { MoveFileEnd } } eventmap VI_INS: MODEOPTS { key [Esc] { ChangeKeys; MoveLeft } key [G-Enter] { LineNew } key [Space] { InsertSpace } key [BackSp] { KillCharPrev } key [Tab] { InsertTab } } eventmap VI_OVER: VI_INS { #Insert = 0; key [Esc] { ChangeKeys; MoveLeft; ToggleInsert } } eventmap VI_DELETE: MODEOPTS { key [Esc] { ChangeKeys } key [d] { BlockSelectLine; BlockCut; ChangeKeys } key [$] { BlockUnmark; BlockMarkStream; MoveLineEnd; BlockMarkStream; BlockCut; ChangeKeys 'VIMODE' } key [0] { BlockUnmark; BlockMarkStream; MoveLineStart; BlockMarkStream; BlockCut; ChangeKeys 'VIMODE' } key [w] { KillWord; ChangeKeys } } eventmap VI_CHANGE: MODEOPTS { key [Esc] { ChangeKeys } key [w] { KillWord; ChangeKeys 'VI_INS' } key [$] { KillToLineEnd; ChangeKeys "VI_INS" } key [c] { MoveLineStart; KillToLineEnd; ChangeKeys "VI_INS" } } eventmap VI_YANK: MODEOPTS { key [Esc] { ChangeKeys } key [y] { BlockSelectLine; BlockCopy; ChangeKeys } key [$] { BlockUnmark; BlockMarkStream; MoveLineEnd; BlockMarkStream; BlockCopy; MovePrevPos; ChangeKeys 'VIMODE' } key [0] { BlockUnmark; BlockMarkStream; MoveLineStart; BlockMarkStream; BlockCopy; MovePrevPos; ChangeKeys 'VIMODE' } key [w] { KillWord; ChangeKeys } } mode PLAIN { EventMap = 'PLAIN'; } # C menu Local_C { item "&Unmark\tEsc" { BlockMarkStream; BlockUnmark } item "Cu&t\tShift+Del" { BlockCut } item "&Copy\tCtrl+Ins" { BlockCopy } item "&Paste\tShift+Ins" { BlockPasteStream } item "P&aste Column\tAlt+Ins" { BlockPasteColumn } item; item "Delete &line\tCtrl+Y" { KillLine } item "Delete to &EOL\tAlt+End" { KillToLineEnd } item; item "&Save\tF2" { FileSave } item "Cl&ose\tCtrl+F10" { FileClose } item; item "&Indent line\tTab" { LineIndent } item "I&ndent block\tAlt+\\" { BlockReIndent } } eventmap C: PLAIN { LocalMenu = 'Local_C'; # local menu key [=] { LineIndent; LineTrim } key [O] { LineIndent; LineNew } key [{] { SelfInsert; ?LineIndent } key [}] { SelfInsert; ?LineIndent; MoveLeft; ?HilitMatchBracket; MoveRight } key [)] { SelfInsert; MoveLeft; ?HilitMatchBracket; MoveRight } key [\]] { SelfInsert; MoveLeft; ?HilitMatchBracket; MoveRight } key [:] { SelfInsert; ?LineIndent } key [#] { SelfInsert; ?LineIndent } # key [A+\\] { BlockReIndent } # do some smart indents key [A+G-Enter] { LineAdd; LineIndent } key [S+G-Enter] { LineInsert; LineIndent } } mode C { EventMap = 'C'; } # REXX eventmap REXX: PLAIN { key [Tab] { LineIndent LineTrim } key [G-Enter] { LineIndent LineNew } key [:] { SelfInsert LineIndent } key [A+\\] { BlockReIndent } } mode REXX { EventMap = 'REXX'; } # PERL eventmap PERL: PLAIN { key [Tab] { LineIndent LineTrim } key [G-Enter] { LineIndent LineNew } key [#] { SelfInsert LineIndent } key [{] { SelfInsert LineIndent } key [}] { SelfInsert LineIndent } key [A+\\] { BlockReIndent } } mode PERL { EventMap = 'PERL'; } # JAVA eventmap JAVA: PLAIN { key [Tab] { LineIndent; LineTrim } key [G-Enter] { LineIndent; LineNew } key [{] { SelfInsert; LineIndent } key [}] { SelfInsert; LineIndent } key [:] { SelfInsert; LineIndent } key [#] { SelfInsert; LineIndent } key [A+\\] { BlockReIndent } } mode JAVA { EventMap = 'JAVA'; } # HTML menu HTML_Physical { item "&Bold C-E C-B" { HTML_B } item "&Italic C-E C-I" { HTML_I } item "&Typewriter C-E C-T" { HTML_TT } } menu HTML_Logical { item "&Definition C-E C-D" { HTML_DFN } item "&Emphasize C-E C-E" { HTML_EM } item "Citati&on C-E C-O" { HTML_CITE } item "&Code C-E C-C" { HTML_CODE } item "&Kbd entry C-E C-K" { HTML_KBD } item "Sam&ple msg C-E C-M" { HTML_SAMP } item "&Strong EM C-E C-S" { HTML_STRONG } item "&Variable C-E C-V" { HTML_VAR } } menu HTML_Header { item "&1

C-E 1" { HTML_H1 } item "&2

C-E 2" { HTML_H2 } item "&3

C-E 3" { HTML_H3 } item "&4

C-E 4" { HTML_H4 } item "&5

C-E 5" { HTML_H5 } item "&6
C-E 6" { HTML_H6 } } menu HTML_List { item "List &item
  • C-E i" { HTML_LI } item "&Unordered list C-E u" { HTML_UL } item "&Ordered list
      C-E o" { HTML_OL } item "Definition &list
      C-E l" { HTML_DL } item "Definition &tag
      C-E t" { HTML_DT } item "&Definition
      C-E d" { HTML_DD } } menu HTML_Table { item "&Table C-E A-T" { HTML_TABLE } item "&Caption C-E A-R" { HTML_TR } item "&Data
      C-E A-C" { HTML_CAPTION } item "&Header
      C-E A-H" { HTML_TH } item "&Row
      C-E A-D" { HTML_TD } } menu HTMLTags { item "&Paragraph

      C-E C-P " { HTML_P } item "Line brea&k
      C-E Enter" { HTML_BR } item "Horiz.line


      C-E &- " { HTML_HR } item; submenu "P&hysical styles ", HTML_Physical; submenu "Logical &styles ", HTML_Logical; submenu "&Header ", HTML_Header; submenu "&Lists ", HTML_List; submenu "&Tables ", HTML_Table; item; item "Pre&formatted
           C-E C-F  " { HTML_PRE }
          item    "&Centered      
      C-E . " { HTML_CENTER } item; item "Anchor &Name C-E C-N " { HTML_ANAME } item "Anchor H&Ref C-E C-H " { HTML_AHREF } item; item "Basic document C-E &0 " { HTML_Base } } menu Main_HTML { submenu "&File", File; submenu "&Edit", Edit; submenu "&Block", Block; submenu "&Search", Search; submenu "Fol&d", Fold; submenu "&Tools", Tools; submenu "HT&ML", HTMLTags; submenu "&Window", Window; submenu "&Options", Options; submenu "&Help", Help; } eventmap HTML: PLAIN { MainMenu = "Main_HTML"; # menu for menubar key [C+E_0] { HTML_Base } # headers key [C+E_1] { HTML_H1 } key [C+E_2] { HTML_H2 } key [C+E_3] { HTML_H3 } key [C+E_4] { HTML_H4 } key [C+E_5] { HTML_H5 } key [C+E_6] { HTML_H6 } # physical key [C+E_C+B] { HTML_B } key [C+E_C+I] { HTML_I } key [C+E_C+T] { HTML_TT } # logical key [C+E_C+D] { HTML_DFN } key [C+E_C+E] { HTML_EM } key [C+E_C+O] { HTML_CITE } key [C+E_C+C] { HTML_CODE } key [C+E_C+K] { HTML_KBD } key [C+E_C+M] { HTML_SAMP } key [C+E_C+S] { HTML_STRONG } key [C+E_C+V] { HTML_VAR } # lists key [C+E_i] { HTML_LI } key [C+E_u] { HTML_UL } key [C+E_o] { HTML_OL } key [C+E_l] { HTML_DL } key [C+E_t] { HTML_DT } key [C+E_d] { HTML_DD } # tables key [C+E_A+T] { HTML_TABLE } key [C+E_A+C] { HTML_CAPTION } key [C+E_A+H] { HTML_TH } key [C+E_A+R] { HTML_TR } key [C+E_A+D] { HTML_TD } # anchors key [C+E_C+N] { HTML_ANAME } key [C+E_C+H] { HTML_AHREF } key [C+E_C+G] { HTML_IMG } key [C+E_C+F] { HTML_PRE } key [C+E_G-Enter] { HTML_BR } key [C+E_-] { HTML_HR } key [C+E_.] { HTML_CENTER } key [C+E_C+P] { HTML_P } # character escapes key [C+E_&] { InsertString "&"; } key [C+E_<] { InsertString "<"; } key [C+E_>] { InsertString ">"; } key [C+E_"] { InsertString """; } # hilit bug } # make sure proper eventmap is used mode HTML { EventMap = 'HTML'; } # FTE eventmap FTE: PLAIN { key [Tab] { LineIndent; LineTrim } key [G-Enter] { LineIndent; LineNew } key [{] { SelfInsert; LineIndent } key [}] { SelfInsert; LineIndent } } # make sure proper eventmap is used mode FTE { EventMap = 'FTE'; } oinclude 'ui_vi.pte'; oinclude 'myui_vi.fte';