home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / wwed034b.zip / fte-0.34 / config / m_vi.fte < prev    next >
Text File  |  1995-10-15  |  4KB  |  105 lines

  1.  
  2. #
  3. # just an experiment, do not take this seriously :)
  4.  
  5. mode VIMODE: MODEOPTS {                               # VI mode
  6.     key [i] { ChangeKeys 'VI_INS' }
  7.     key [I] { MoveLineStart; ChangeKeys 'VI_INS' }
  8.     key [o] { LineAdd; MoveDown; MoveLineStart; ChangeKeys 'VI_INS' }
  9.     key [O] { LineInsert; MoveLineStart; ChangeKeys 'VI_INS' }
  10.     key [a] { MoveRight; ChangeKeys 'VI_INS' }
  11.     key [A] { MoveLineEnd; ChangeKeys 'VI_INS' }
  12.     key [r] { ToggleInsert; InsertChar; ToggleInsert }
  13.     key [R] { ChangeKeys 'VI_OVER'; ToggleInsert }
  14.     key [d] { ChangeKeys 'VI_DELETE' }
  15.     key [D] { KillToLineEnd }
  16.     key [y] { ChangeKeys 'VI_YANK' }
  17.     key [x] { KillChar }
  18.     key [X] { KillCharPrev }
  19.     key [h] { MoveLeft }
  20.     key [j] { MoveDown }
  21.     key [k] { MoveUp }
  22.     key [l] { MoveRight }
  23.     key [$] { MoveLineEnd }
  24.     key [0] { MoveLineStart }
  25.     key [^] { MoveFirstNonWhite }
  26.     key [:] { MainMenu }
  27.     key [/] { SearchRx }
  28.     key [n] { SearchAgain }
  29.     key [P] { BlockPaste }
  30.     key [p] { MoveRight; BlockPaste }
  31.     key [B] { MoveWordPrev }
  32.     key [b] { MoveWordPrev }
  33.     key [w] { MoveWordNext }
  34.     key [W] { MoveWordNext }
  35.     key [c] { ChangeKeys 'VI_CHANGE' }
  36.     key [C-N] { MoveDown }
  37.     key [C-P] { MoveUp }
  38.     key [C-B] { MovePageUp }
  39.     key [%]   { MatchBracket }
  40.     key [u]   { Undo }
  41.     key [U]   { Redo }
  42.  
  43.     key [BackSp] { MoveLeft }
  44.     key [Space] { MoveRight }
  45.  
  46.     key [Enter] { MoveDown; MoveLineStart }
  47.     key [-] { MoveUp; MoveLineStart }
  48.     key [+] { MoveDown; MoveLineStart }
  49.     key [J] { LineJoin }
  50.     key [C] { KillToLineEnd; ChangeKeys 'VI_INS' }
  51.  
  52.     key       [Left]    { MoveLeft }
  53.     key     [C-Left]    { MoveWordPrev }
  54.     key       [Right]   { MoveRight }
  55.     key     [C-Right]   { MoveWordNext }
  56.     key       [Up]      { MoveUp }
  57.     key       [Down]    { MoveDown }
  58.     key       [Home]    { MoveLineStart }
  59.     key     [C-Home]    { MovePageStart }
  60.     key       [End]     { MoveLineEnd }
  61.     key     [C-End]     { MovePageEnd }
  62.     key       [PgUp]    { MovePageUp }
  63.     key     [C-PgUp]    { MoveFileStart }
  64.     key       [PgDn]    { MovePageDown }
  65.     key     [C-PgDn]    { MoveFileEnd }
  66. }
  67.  
  68. mode VI_INS: MODEOPTS {
  69.     key [Esc] { ChangeKeys 'VIMODE'; MoveLeft }
  70.     key [Enter] { LineNew }
  71.     key [Space] { InsertSpace }
  72.     key [BackSp] { KillCharPrev }
  73.     key [Tab] { InsertTab }
  74. }
  75.  
  76. mode VI_OVER: VI_INS {
  77.     Insert      = 0;
  78.     key [Esc] { ChangeKeys 'VIMODE'; MoveLeft; ToggleInsert }
  79. }
  80.  
  81. mode VI_DELETE: MODEOPTS {
  82.     key [Esc] { ChangeKeys 'VIMODE' }
  83.     key [d]   { BlockSelectLine; BlockCut; ChangeKeys 'VIMODE' }
  84.     key [$]   { BlockUnmark; BlockMarkStream; MoveLineEnd; BlockMarkStream; BlockCut; ChangeKeys 'VIMODE' }
  85.     key [0]   { BlockUnmark; BlockMarkStream; MoveLineStart; BlockMarkStream; BlockCut; ChangeKeys 'VIMODE' }
  86.     key [w]   { KillWord; ChangeKeys 'VIMODE' }
  87. }
  88.  
  89. mode VI_CHANGE: MODEOPTS {
  90.     key [Esc] { ChangeKeys 'VIMODE' }
  91.     key [w] { KillWord; ChangeKeys 'VI_INS' }
  92.     key [$] { KillToLineEnd; ChangeKeys "VI_INS" }
  93.     key [c] { MoveLineStart; KillToLineEnd; ChangeKeys "VI_INS" }
  94. }
  95.  
  96. mode VI_YANK: MODEOPTS {
  97.     key [Esc] { ChangeKeys 'VIMODE' }
  98.     key [d]   { BlockSelectLine; BlockCopy; ChangeKeys 'VIMODE' }
  99.     key [$]   { BlockUnmark; BlockMarkStream; MoveLineEnd; BlockMarkStream; BlockCopy; MovePrevPos; ChangeKeys 'VIMODE' }
  100.     key [0]   { BlockUnmark; BlockMarkStream; MoveLineStart; BlockMarkStream; BlockCopy; MovePrevPos; ChangeKeys 'VIMODE' }
  101.     key [w]   { KillWord; ChangeKeys 'VIMODE' }
  102. }
  103.  
  104. #:wq!