1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
does not work at this time. needs fixing
#
# just an experiment, do not take this seriously :)
#
mode VIMODE: MODEOPTS { # VI mode
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 [:] { MainMenu }
key [/] { SearchRx }
key [n] { SearchAgain }
key [P] { BlockPaste }
key [p] { MoveRight; BlockPaste }
key [B] { MoveWordPrev }
key [b] { MoveWordPrev }
key [w] { MoveWordNext }
key [W] { MoveWordNext }
key [c] { ChangeKeys 'VI_CHANGE' }
key [C+N] { MoveDown }
key [C+P] { MoveUp }
key [C+B] { MovePageUp }
key [%] { MatchBracket }
key [u] { Undo }
key [U] { 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 }
}
mode VI_INS: MODEOPTS {
key [Esc] { ChangeKeys 'VIMODE'; MoveLeft }
key [G-Enter] { LineNew }
key [Space] { InsertSpace }
key [BackSp] { KillCharPrev }
key [Tab] { InsertTab }
}
mode VI_OVER: VI_INS {
Insert = 0;
key [Esc] { ChangeKeys 'VIMODE'; MoveLeft; ToggleInsert }
}
mode VI_DELETE: MODEOPTS {
key [Esc] { ChangeKeys 'VIMODE' }
key [d] { BlockSelectLine; BlockCut; ChangeKeys 'VIMODE' }
key [$] { BlockUnmark; BlockMarkStream; MoveLineEnd; BlockMarkStream; BlockCut; ChangeKeys 'VIMODE' }
key [0] { BlockUnmark; BlockMarkStream; MoveLineStart; BlockMarkStream; BlockCut; ChangeKeys 'VIMODE' }
key [w] { KillWord; ChangeKeys 'VIMODE' }
}
mode VI_CHANGE: MODEOPTS {
key [Esc] { ChangeKeys 'VIMODE' }
key [w] { KillWord; ChangeKeys 'VI_INS' }
key [$] { KillToLineEnd; ChangeKeys "VI_INS" }
key [c] { MoveLineStart; KillToLineEnd; ChangeKeys "VI_INS" }
}
mode VI_YANK: MODEOPTS {
key [Esc] { ChangeKeys 'VIMODE' }
key [d] { BlockSelectLine; BlockCopy; ChangeKeys 'VIMODE' }
key [$] { BlockUnmark; BlockMarkStream; MoveLineEnd; BlockMarkStream; BlockCopy; MovePrevPos; ChangeKeys 'VIMODE' }
key [0] { BlockUnmark; BlockMarkStream; MoveLineStart; BlockMarkStream; BlockCopy; MovePrevPos; ChangeKeys 'VIMODE' }
key [w] { KillWord; ChangeKeys 'VIMODE' }
}
|