version 1.44, 2012/01/21 11:12:13 |
version 1.45, 2012/03/04 07:38:11 |
|
|
* |
* |
* vi command mode is handled by having a mode flag in the struct which allows |
* vi command mode is handled by having a mode flag in the struct which allows |
* two sets of bindings to be swapped between. A couple of editing commands |
* two sets of bindings to be swapped between. A couple of editing commands |
* (MODEKEYEDIT_SWITCHMODE and MODEKEYEDIT_SWITCHMODEAPPEND) are special-cased |
* (MODEKEYEDIT_SWITCHMODE, MODEKEYEDIT_SWITCHMODEAPPEND, |
* to do this. |
* MODEKEYEDIT_SWITCHMODEAPPENDLINE, and MODEKEYEDIT_SWITCHMODEBEGINLINE) |
|
* are special-cased to do this. |
*/ |
*/ |
|
|
/* Edit keys command strings. */ |
/* Edit keys command strings. */ |
|
|
{ MODEKEYEDIT_STARTOFLINE, "start-of-line" }, |
{ MODEKEYEDIT_STARTOFLINE, "start-of-line" }, |
{ MODEKEYEDIT_SWITCHMODE, "switch-mode" }, |
{ MODEKEYEDIT_SWITCHMODE, "switch-mode" }, |
{ MODEKEYEDIT_SWITCHMODEAPPEND, "switch-mode-append" }, |
{ MODEKEYEDIT_SWITCHMODEAPPEND, "switch-mode-append" }, |
|
{ MODEKEYEDIT_SWITCHMODEAPPENDLINE, "switch-mode-append-line" }, |
|
{ MODEKEYEDIT_SWITCHMODEBEGINLINE, "switch-mode-begin-line" }, |
{ MODEKEYEDIT_TRANSPOSECHARS, "transpose-chars" }, |
{ MODEKEYEDIT_TRANSPOSECHARS, "transpose-chars" }, |
|
|
{ 0, NULL } |
{ 0, NULL } |
|
|
|
|
{ '$', 1, MODEKEYEDIT_ENDOFLINE }, |
{ '$', 1, MODEKEYEDIT_ENDOFLINE }, |
{ '0', 1, MODEKEYEDIT_STARTOFLINE }, |
{ '0', 1, MODEKEYEDIT_STARTOFLINE }, |
|
{ 'A', 1, MODEKEYEDIT_SWITCHMODEAPPENDLINE }, |
{ 'B', 1, MODEKEYEDIT_PREVIOUSSPACE }, |
{ 'B', 1, MODEKEYEDIT_PREVIOUSSPACE }, |
{ 'D', 1, MODEKEYEDIT_DELETETOENDOFLINE }, |
{ 'D', 1, MODEKEYEDIT_DELETETOENDOFLINE }, |
{ 'E', 1, MODEKEYEDIT_NEXTSPACEEND }, |
{ 'E', 1, MODEKEYEDIT_NEXTSPACEEND }, |
|
{ 'I', 1, MODEKEYEDIT_SWITCHMODEBEGINLINE }, |
{ 'W', 1, MODEKEYEDIT_NEXTSPACE }, |
{ 'W', 1, MODEKEYEDIT_NEXTSPACE }, |
{ 'X', 1, MODEKEYEDIT_BACKSPACE }, |
{ 'X', 1, MODEKEYEDIT_BACKSPACE }, |
{ '\003' /* C-c */, 1, MODEKEYEDIT_CANCEL }, |
{ '\003' /* C-c */, 1, MODEKEYEDIT_CANCEL }, |
|
|
switch (mbind->cmd) { |
switch (mbind->cmd) { |
case MODEKEYEDIT_SWITCHMODE: |
case MODEKEYEDIT_SWITCHMODE: |
case MODEKEYEDIT_SWITCHMODEAPPEND: |
case MODEKEYEDIT_SWITCHMODEAPPEND: |
|
case MODEKEYEDIT_SWITCHMODEAPPENDLINE: |
|
case MODEKEYEDIT_SWITCHMODEBEGINLINE: |
mdata->mode = 1 - mdata->mode; |
mdata->mode = 1 - mdata->mode; |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
default: |
default: |