version 1.2, 2009/07/12 16:15:34 |
version 1.3, 2009/07/21 17:57:29 |
|
|
enum mode_key_cmd |
enum mode_key_cmd |
mode_key_lookup_vi(struct mode_key_data *mdata, int key) |
mode_key_lookup_vi(struct mode_key_data *mdata, int key) |
{ |
{ |
if (KEYC_ISESC(key)) { |
if (key & KEYC_ESCAPE) { |
key = KEYC_REMOVEESC(key); |
key &= ~KEYC_ESCAPE; |
if (mdata->flags & MODEKEY_CANEDIT) |
if (mdata->flags & MODEKEY_CANEDIT) |
mdata->flags ^= MODEKEY_EDITMODE; |
mdata->flags ^= MODEKEY_EDITMODE; |
} |
} |
|
|
return (MODEKEYCMD_CHOOSE); |
return (MODEKEYCMD_CHOOSE); |
case '\001': |
case '\001': |
return (MODEKEYCMD_STARTOFLINE); |
return (MODEKEYCMD_STARTOFLINE); |
case KEYC_ADDESC('m'): |
case 'm' | KEYC_ESCAPE: |
return (MODEKEYCMD_BACKTOINDENTATION); |
return (MODEKEYCMD_BACKTOINDENTATION); |
case '\007': |
case '\007': |
return (MODEKEYCMD_CLEARSELECTION); |
return (MODEKEYCMD_CLEARSELECTION); |
case '\027': |
case '\027': |
case KEYC_ADDESC('w'): |
case 'w' | KEYC_ESCAPE: |
return (MODEKEYCMD_COPYSELECTION); |
return (MODEKEYCMD_COPYSELECTION); |
case '\016': |
case '\016': |
case KEYC_DOWN: |
case KEYC_DOWN: |
|
|
case '\026': |
case '\026': |
case KEYC_NPAGE: |
case KEYC_NPAGE: |
return (MODEKEYCMD_NEXTPAGE); |
return (MODEKEYCMD_NEXTPAGE); |
case KEYC_ADDESC('f'): |
case 'f' | KEYC_ESCAPE: |
return (MODEKEYCMD_NEXTWORD); |
return (MODEKEYCMD_NEXTWORD); |
case '\031': |
case '\031': |
return (MODEKEYCMD_PASTE); |
return (MODEKEYCMD_PASTE); |
case KEYC_ADDESC('v'): |
case 'v' | KEYC_ESCAPE: |
case KEYC_PPAGE: |
case KEYC_PPAGE: |
return (MODEKEYCMD_PREVIOUSPAGE); |
return (MODEKEYCMD_PREVIOUSPAGE); |
case KEYC_ADDESC('b'): |
case 'b' | KEYC_ESCAPE: |
return (MODEKEYCMD_PREVIOUSWORD); |
return (MODEKEYCMD_PREVIOUSWORD); |
case '\006': |
case '\006': |
case KEYC_RIGHT: |
case KEYC_RIGHT: |