diff options
Diffstat (limited to 'src/nvim/normal.c')
| -rw-r--r-- | src/nvim/normal.c | 380 | 
1 files changed, 190 insertions, 190 deletions
| diff --git a/src/nvim/normal.c b/src/nvim/normal.c index dbd8e153a8..92b1cf2d55 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -152,196 +152,196 @@ static const struct nv_cmd {    short cmd_arg;                /* value for ca.arg */  } nv_cmds[] =  { -  {NUL,       nv_error,       0,                      0}, -  {Ctrl_A,    nv_addsub,      0,                      0}, -  {Ctrl_B,    nv_page,        NV_STS,                 BACKWARD}, -  {Ctrl_C,    nv_esc,         0,                      true}, -  {Ctrl_D,    nv_halfpage,    0,                      0}, -  {Ctrl_E,    nv_scroll_line, 0,                      true}, -  {Ctrl_F,    nv_page,        NV_STS,                 FORWARD}, -  {Ctrl_G,    nv_ctrlg,       0,                      0}, -  {Ctrl_H,    nv_ctrlh,       0,                      0}, -  {Ctrl_I,    nv_pcmark,      0,                      0}, -  {NL,        nv_down,        0,                      false}, -  {Ctrl_K,    nv_error,       0,                      0}, -  {Ctrl_L,    nv_clear,       0,                      0}, -  {Ctrl_M,    nv_down,        0,                      true}, -  {Ctrl_N,    nv_down,        NV_STS,                 false}, -  {Ctrl_O,    nv_ctrlo,       0,                      0}, -  {Ctrl_P,    nv_up,          NV_STS,                 false}, -  {Ctrl_Q,    nv_visual,      0,                      false}, -  {Ctrl_R,    nv_redo,        0,                      0}, -  {Ctrl_S,    nv_ignore,      0,                      0}, -  {Ctrl_T,    nv_tagpop,      NV_NCW,                 0}, -  {Ctrl_U,    nv_halfpage,    0,                      0}, -  {Ctrl_V,    nv_visual,      0,                      false}, -  {'V',       nv_visual,      0,                      false}, -  {'v',       nv_visual,      0,                      false}, -  {Ctrl_W,    nv_window,      0,                      0}, -  {Ctrl_X,    nv_addsub,      0,                      0}, -  {Ctrl_Y,    nv_scroll_line, 0,                      false}, -  {Ctrl_Z,    nv_suspend,     0,                      0}, -  {ESC,       nv_esc,         0,                      false}, -  {Ctrl_BSL,  nv_normal,      NV_NCH_ALW,             0}, -  {Ctrl_RSB,  nv_ident,       NV_NCW,                 0}, -  {Ctrl_HAT,  nv_hat,         NV_NCW,                 0}, -  {Ctrl__,    nv_error,       0,                      0}, -  {' ',       nv_right,       0,                      0}, -  {'!',       nv_operator,    0,                      0}, -  {'"',       nv_regname,     NV_NCH_NOP|NV_KEEPREG,  0}, -  {'#',       nv_ident,       0,                      0}, -  {'$',       nv_dollar,      0,                      0}, -  {'%',       nv_percent,     0,                      0}, -  {'&',       nv_optrans,     0,                      0}, -  {'\'',      nv_gomark,      NV_NCH_ALW,             true}, -  {'(',       nv_brace,       0,                      BACKWARD}, -  {')',       nv_brace,       0,                      FORWARD}, -  {'*',       nv_ident,       0,                      0}, -  {'+',       nv_down,        0,                      true}, -  {',',       nv_csearch,     0,                      true}, -  {'-',       nv_up,          0,                      true}, -  {'.',       nv_dot,         NV_KEEPREG,             0}, -  {'/',       nv_search,      0,                      false}, -  {'0',       nv_beginline,   0,                      0}, -  {'1',       nv_ignore,      0,                      0}, -  {'2',       nv_ignore,      0,                      0}, -  {'3',       nv_ignore,      0,                      0}, -  {'4',       nv_ignore,      0,                      0}, -  {'5',       nv_ignore,      0,                      0}, -  {'6',       nv_ignore,      0,                      0}, -  {'7',       nv_ignore,      0,                      0}, -  {'8',       nv_ignore,      0,                      0}, -  {'9',       nv_ignore,      0,                      0}, -  {':',       nv_colon,       0,                      0}, -  {';',       nv_csearch,     0,                      false}, -  {'<',       nv_operator,    NV_RL,                  0}, -  {'=',       nv_operator,    0,                      0}, -  {'>',       nv_operator,    NV_RL,                  0}, -  {'?',       nv_search,      0,                      false}, -  {'@',       nv_at,          NV_NCH_NOP,             false}, -  {'A',       nv_edit,        0,                      0}, -  {'B',       nv_bck_word,    0,                      1}, -  {'C',       nv_abbrev,      NV_KEEPREG,             0}, -  {'D',       nv_abbrev,      NV_KEEPREG,             0}, -  {'E',       nv_wordcmd,     0,                      true}, -  {'F',       nv_csearch,     NV_NCH_ALW|NV_LANG,     BACKWARD}, -  {'G',       nv_goto,        0,                      true}, -  {'H',       nv_scroll,      0,                      0}, -  {'I',       nv_edit,        0,                      0}, -  {'J',       nv_join,        0,                      0}, -  {'K',       nv_ident,       0,                      0}, -  {'L',       nv_scroll,      0,                      0}, -  {'M',       nv_scroll,      0,                      0}, -  {'N',       nv_next,        0,                      SEARCH_REV}, -  {'O',       nv_open,        0,                      0}, -  {'P',       nv_put,         0,                      0}, -  {'Q',       nv_exmode,      NV_NCW,                 0}, -  {'R',       nv_Replace,     0,                      false}, -  {'S',       nv_subst,       NV_KEEPREG,             0}, -  {'T',       nv_csearch,     NV_NCH_ALW|NV_LANG,     BACKWARD}, -  {'U',       nv_Undo,        0,                      0}, -  {'W',       nv_wordcmd,     0,                      true}, -  {'X',       nv_abbrev,      NV_KEEPREG,             0}, -  {'Y',       nv_abbrev,      NV_KEEPREG,             0}, -  {'Z',       nv_Zet,         NV_NCH_NOP|NV_NCW,      0}, -  {'[',       nv_brackets,    NV_NCH_ALW,             BACKWARD}, -  {'\\',      nv_error,       0,                      0}, -  {']',       nv_brackets,    NV_NCH_ALW,             FORWARD}, -  {'^',       nv_beginline,   0,                      BL_WHITE | BL_FIX}, -  {'_',       nv_lineop,      0,                      0}, -  {'`',       nv_gomark,      NV_NCH_ALW,             false}, -  {'a',       nv_edit,        NV_NCH,                 0}, -  {'b',       nv_bck_word,    0,                      0}, -  {'c',       nv_operator,    0,                      0}, -  {'d',       nv_operator,    0,                      0}, -  {'e',       nv_wordcmd,     0,                      false}, -  {'f',       nv_csearch,     NV_NCH_ALW|NV_LANG,     FORWARD}, -  {'g',       nv_g_cmd,       NV_NCH_ALW,             false}, -  {'h',       nv_left,        NV_RL,                  0}, -  {'i',       nv_edit,        NV_NCH,                 0}, -  {'j',       nv_down,        0,                      false}, -  {'k',       nv_up,          0,                      false}, -  {'l',       nv_right,       NV_RL,                  0}, -  {'m',       nv_mark,        NV_NCH_NOP,             0}, -  {'n',       nv_next,        0,                      0}, -  {'o',       nv_open,        0,                      0}, -  {'p',       nv_put,         0,                      0}, -  {'q',       nv_record,      NV_NCH,                 0}, -  {'r',       nv_replace,     NV_NCH_NOP|NV_LANG,     0}, -  {'s',       nv_subst,       NV_KEEPREG,             0}, -  {'t',       nv_csearch,     NV_NCH_ALW|NV_LANG,     FORWARD}, -  {'u',       nv_undo,        0,                      0}, -  {'w',       nv_wordcmd,     0,                      false}, -  {'x',       nv_abbrev,      NV_KEEPREG,             0}, -  {'y',       nv_operator,    0,                      0}, -  {'z',       nv_zet,         NV_NCH_ALW,             0}, -  {'{',       nv_findpar,     0,                      BACKWARD}, -  {'|',       nv_pipe,        0,                      0}, -  {'}',       nv_findpar,     0,                      FORWARD}, -  {'~',       nv_tilde,       0,                      0}, - -  /* pound sign */ -  {POUND,     nv_ident,       0,                      0}, -  {K_MOUSEUP, nv_mousescroll, 0,                      MSCR_UP}, -  {K_MOUSEDOWN, nv_mousescroll, 0,                    MSCR_DOWN}, -  {K_MOUSELEFT, nv_mousescroll, 0,                    MSCR_LEFT}, -  {K_MOUSERIGHT, nv_mousescroll, 0,                   MSCR_RIGHT}, -  {K_LEFTMOUSE, nv_mouse,     0,                      0}, -  {K_LEFTMOUSE_NM, nv_mouse,  0,                      0}, -  {K_LEFTDRAG, nv_mouse,      0,                      0}, -  {K_LEFTRELEASE, nv_mouse,   0,                      0}, -  {K_LEFTRELEASE_NM, nv_mouse, 0,                     0}, -  {K_MIDDLEMOUSE, nv_mouse,   0,                      0}, -  {K_MIDDLEDRAG, nv_mouse,    0,                      0}, -  {K_MIDDLERELEASE, nv_mouse, 0,                      0}, -  {K_RIGHTMOUSE, nv_mouse,    0,                      0}, -  {K_RIGHTDRAG, nv_mouse,     0,                      0}, -  {K_RIGHTRELEASE, nv_mouse,  0,                      0}, -  {K_X1MOUSE, nv_mouse,       0,                      0}, -  {K_X1DRAG, nv_mouse,        0,                      0}, -  {K_X1RELEASE, nv_mouse,     0,                      0}, -  {K_X2MOUSE, nv_mouse,       0,                      0}, -  {K_X2DRAG, nv_mouse,        0,                      0}, -  {K_X2RELEASE, nv_mouse,     0,                      0}, -  {K_IGNORE,  nv_ignore,      NV_KEEPREG,             0}, -  {K_NOP,     nv_nop,         0,                      0}, -  {K_INS,     nv_edit,        0,                      0}, -  {K_KINS,    nv_edit,        0,                      0}, -  {K_BS,      nv_ctrlh,       0,                      0}, -  {K_UP,      nv_up,          NV_SSS|NV_STS,          false}, -  {K_S_UP,    nv_page,        NV_SS,                  BACKWARD}, -  {K_DOWN,    nv_down,        NV_SSS|NV_STS,          false}, -  {K_S_DOWN,  nv_page,        NV_SS,                  FORWARD}, -  {K_LEFT,    nv_left,        NV_SSS|NV_STS|NV_RL,    0}, -  {K_S_LEFT,  nv_bck_word,    NV_SS|NV_RL,            0}, -  {K_C_LEFT,  nv_bck_word,    NV_SSS|NV_RL|NV_STS,    1}, -  {K_RIGHT,   nv_right,       NV_SSS|NV_STS|NV_RL,    0}, -  {K_S_RIGHT, nv_wordcmd,     NV_SS|NV_RL,            false}, -  {K_C_RIGHT, nv_wordcmd,     NV_SSS|NV_RL|NV_STS,    true}, -  {K_PAGEUP,  nv_page,        NV_SSS|NV_STS,          BACKWARD}, -  {K_KPAGEUP, nv_page,        NV_SSS|NV_STS,          BACKWARD}, -  {K_PAGEDOWN, nv_page,       NV_SSS|NV_STS,          FORWARD}, -  {K_KPAGEDOWN, nv_page,      NV_SSS|NV_STS,          FORWARD}, -  {K_END,     nv_end,         NV_SSS|NV_STS,          false}, -  {K_KEND,    nv_end,         NV_SSS|NV_STS,          false}, -  {K_S_END,   nv_end,         NV_SS,                  false}, -  {K_C_END,   nv_end,         NV_SSS|NV_STS,          true}, -  {K_HOME,    nv_home,        NV_SSS|NV_STS,          0}, -  {K_KHOME,   nv_home,        NV_SSS|NV_STS,          0}, -  {K_S_HOME,  nv_home,        NV_SS,                  0}, -  {K_C_HOME,  nv_goto,        NV_SSS|NV_STS,          false}, -  {K_DEL,     nv_abbrev,      0,                      0}, -  {K_KDEL,    nv_abbrev,      0,                      0}, -  {K_UNDO,    nv_kundo,       0,                      0}, -  {K_HELP,    nv_help,        NV_NCW,                 0}, -  {K_F1,      nv_help,        NV_NCW,                 0}, -  {K_XF1,     nv_help,        NV_NCW,                 0}, -  {K_SELECT,  nv_select,      0,                      0}, -  {K_F8,      farsi_fkey,     0,                      0}, -  {K_F9,      farsi_fkey,     0,                      0}, -  {K_EVENT,   nv_event,       NV_KEEPREG,             0}, -  {K_FOCUSGAINED, nv_focusgained, NV_KEEPREG,         0}, -  {K_FOCUSLOST,   nv_focuslost,   NV_KEEPREG,         0}, +  { NUL,       nv_error,       0,                      0 }, +  { Ctrl_A,    nv_addsub,      0,                      0 }, +  { Ctrl_B,    nv_page,        NV_STS,                 BACKWARD }, +  { Ctrl_C,    nv_esc,         0,                      true }, +  { Ctrl_D,    nv_halfpage,    0,                      0 }, +  { Ctrl_E,    nv_scroll_line, 0,                      true }, +  { Ctrl_F,    nv_page,        NV_STS,                 FORWARD }, +  { Ctrl_G,    nv_ctrlg,       0,                      0 }, +  { Ctrl_H,    nv_ctrlh,       0,                      0 }, +  { Ctrl_I,    nv_pcmark,      0,                      0 }, +  { NL,        nv_down,        0,                      false }, +  { Ctrl_K,    nv_error,       0,                      0 }, +  { Ctrl_L,    nv_clear,       0,                      0 }, +  { Ctrl_M,    nv_down,        0,                      true }, +  { Ctrl_N,    nv_down,        NV_STS,                 false }, +  { Ctrl_O,    nv_ctrlo,       0,                      0 }, +  { Ctrl_P,    nv_up,          NV_STS,                 false }, +  { Ctrl_Q,    nv_visual,      0,                      false }, +  { Ctrl_R,    nv_redo,        0,                      0 }, +  { Ctrl_S,    nv_ignore,      0,                      0 }, +  { Ctrl_T,    nv_tagpop,      NV_NCW,                 0 }, +  { Ctrl_U,    nv_halfpage,    0,                      0 }, +  { Ctrl_V,    nv_visual,      0,                      false }, +  { 'V',       nv_visual,      0,                      false }, +  { 'v',       nv_visual,      0,                      false }, +  { Ctrl_W,    nv_window,      0,                      0 }, +  { Ctrl_X,    nv_addsub,      0,                      0 }, +  { Ctrl_Y,    nv_scroll_line, 0,                      false }, +  { Ctrl_Z,    nv_suspend,     0,                      0 }, +  { ESC,       nv_esc,         0,                      false }, +  { Ctrl_BSL,  nv_normal,      NV_NCH_ALW,             0 }, +  { Ctrl_RSB,  nv_ident,       NV_NCW,                 0 }, +  { Ctrl_HAT,  nv_hat,         NV_NCW,                 0 }, +  { Ctrl__,    nv_error,       0,                      0 }, +  { ' ',       nv_right,       0,                      0 }, +  { '!',       nv_operator,    0,                      0 }, +  { '"',       nv_regname,     NV_NCH_NOP|NV_KEEPREG,  0 }, +  { '#',       nv_ident,       0,                      0 }, +  { '$',       nv_dollar,      0,                      0 }, +  { '%',       nv_percent,     0,                      0 }, +  { '&',       nv_optrans,     0,                      0 }, +  { '\'',      nv_gomark,      NV_NCH_ALW,             true }, +  { '(',       nv_brace,       0,                      BACKWARD }, +  { ')',       nv_brace,       0,                      FORWARD }, +  { '*',       nv_ident,       0,                      0 }, +  { '+',       nv_down,        0,                      true }, +  { ',',       nv_csearch,     0,                      true }, +  { '-',       nv_up,          0,                      true }, +  { '.',       nv_dot,         NV_KEEPREG,             0 }, +  { '/',       nv_search,      0,                      false }, +  { '0',       nv_beginline,   0,                      0 }, +  { '1',       nv_ignore,      0,                      0 }, +  { '2',       nv_ignore,      0,                      0 }, +  { '3',       nv_ignore,      0,                      0 }, +  { '4',       nv_ignore,      0,                      0 }, +  { '5',       nv_ignore,      0,                      0 }, +  { '6',       nv_ignore,      0,                      0 }, +  { '7',       nv_ignore,      0,                      0 }, +  { '8',       nv_ignore,      0,                      0 }, +  { '9',       nv_ignore,      0,                      0 }, +  { ':',       nv_colon,       0,                      0 }, +  { ';',       nv_csearch,     0,                      false }, +  { '<',       nv_operator,    NV_RL,                  0 }, +  { '=',       nv_operator,    0,                      0 }, +  { '>',       nv_operator,    NV_RL,                  0 }, +  { '?',       nv_search,      0,                      false }, +  { '@',       nv_at,          NV_NCH_NOP,             false }, +  { 'A',       nv_edit,        0,                      0 }, +  { 'B',       nv_bck_word,    0,                      1 }, +  { 'C',       nv_abbrev,      NV_KEEPREG,             0 }, +  { 'D',       nv_abbrev,      NV_KEEPREG,             0 }, +  { 'E',       nv_wordcmd,     0,                      true }, +  { 'F',       nv_csearch,     NV_NCH_ALW|NV_LANG,     BACKWARD }, +  { 'G',       nv_goto,        0,                      true }, +  { 'H',       nv_scroll,      0,                      0 }, +  { 'I',       nv_edit,        0,                      0 }, +  { 'J',       nv_join,        0,                      0 }, +  { 'K',       nv_ident,       0,                      0 }, +  { 'L',       nv_scroll,      0,                      0 }, +  { 'M',       nv_scroll,      0,                      0 }, +  { 'N',       nv_next,        0,                      SEARCH_REV }, +  { 'O',       nv_open,        0,                      0 }, +  { 'P',       nv_put,         0,                      0 }, +  { 'Q',       nv_exmode,      NV_NCW,                 0 }, +  { 'R',       nv_Replace,     0,                      false }, +  { 'S',       nv_subst,       NV_KEEPREG,             0 }, +  { 'T',       nv_csearch,     NV_NCH_ALW|NV_LANG,     BACKWARD }, +  { 'U',       nv_Undo,        0,                      0 }, +  { 'W',       nv_wordcmd,     0,                      true }, +  { 'X',       nv_abbrev,      NV_KEEPREG,             0 }, +  { 'Y',       nv_abbrev,      NV_KEEPREG,             0 }, +  { 'Z',       nv_Zet,         NV_NCH_NOP|NV_NCW,      0 }, +  { '[',       nv_brackets,    NV_NCH_ALW,             BACKWARD }, +  { '\\',      nv_error,       0,                      0 }, +  { ']',       nv_brackets,    NV_NCH_ALW,             FORWARD }, +  { '^',       nv_beginline,   0,                      BL_WHITE | BL_FIX }, +  { '_',       nv_lineop,      0,                      0 }, +  { '`',       nv_gomark,      NV_NCH_ALW,             false }, +  { 'a',       nv_edit,        NV_NCH,                 0 }, +  { 'b',       nv_bck_word,    0,                      0 }, +  { 'c',       nv_operator,    0,                      0 }, +  { 'd',       nv_operator,    0,                      0 }, +  { 'e',       nv_wordcmd,     0,                      false }, +  { 'f',       nv_csearch,     NV_NCH_ALW|NV_LANG,     FORWARD }, +  { 'g',       nv_g_cmd,       NV_NCH_ALW,             false }, +  { 'h',       nv_left,        NV_RL,                  0 }, +  { 'i',       nv_edit,        NV_NCH,                 0 }, +  { 'j',       nv_down,        0,                      false }, +  { 'k',       nv_up,          0,                      false }, +  { 'l',       nv_right,       NV_RL,                  0 }, +  { 'm',       nv_mark,        NV_NCH_NOP,             0 }, +  { 'n',       nv_next,        0,                      0 }, +  { 'o',       nv_open,        0,                      0 }, +  { 'p',       nv_put,         0,                      0 }, +  { 'q',       nv_record,      NV_NCH,                 0 }, +  { 'r',       nv_replace,     NV_NCH_NOP|NV_LANG,     0 }, +  { 's',       nv_subst,       NV_KEEPREG,             0 }, +  { 't',       nv_csearch,     NV_NCH_ALW|NV_LANG,     FORWARD }, +  { 'u',       nv_undo,        0,                      0 }, +  { 'w',       nv_wordcmd,     0,                      false }, +  { 'x',       nv_abbrev,      NV_KEEPREG,             0 }, +  { 'y',       nv_operator,    0,                      0 }, +  { 'z',       nv_zet,         NV_NCH_ALW,             0 }, +  { '{',       nv_findpar,     0,                      BACKWARD }, +  { '|',       nv_pipe,        0,                      0 }, +  { '}',       nv_findpar,     0,                      FORWARD }, +  { '~',       nv_tilde,       0,                      0 }, + +  // pound sign +  { POUND,     nv_ident,       0,                      0 }, +  { K_MOUSEUP, nv_mousescroll, 0,                      MSCR_UP }, +  { K_MOUSEDOWN, nv_mousescroll, 0,                    MSCR_DOWN }, +  { K_MOUSELEFT, nv_mousescroll, 0,                    MSCR_LEFT }, +  { K_MOUSERIGHT, nv_mousescroll, 0,                   MSCR_RIGHT }, +  { K_LEFTMOUSE, nv_mouse,     0,                      0 }, +  { K_LEFTMOUSE_NM, nv_mouse,  0,                      0 }, +  { K_LEFTDRAG, nv_mouse,      0,                      0 }, +  { K_LEFTRELEASE, nv_mouse,   0,                      0 }, +  { K_LEFTRELEASE_NM, nv_mouse, 0,                     0 }, +  { K_MIDDLEMOUSE, nv_mouse,   0,                      0 }, +  { K_MIDDLEDRAG, nv_mouse,    0,                      0 }, +  { K_MIDDLERELEASE, nv_mouse, 0,                      0 }, +  { K_RIGHTMOUSE, nv_mouse,    0,                      0 }, +  { K_RIGHTDRAG, nv_mouse,     0,                      0 }, +  { K_RIGHTRELEASE, nv_mouse,  0,                      0 }, +  { K_X1MOUSE, nv_mouse,       0,                      0 }, +  { K_X1DRAG, nv_mouse,        0,                      0 }, +  { K_X1RELEASE, nv_mouse,     0,                      0 }, +  { K_X2MOUSE, nv_mouse,       0,                      0 }, +  { K_X2DRAG, nv_mouse,        0,                      0 }, +  { K_X2RELEASE, nv_mouse,     0,                      0 }, +  { K_IGNORE,  nv_ignore,      NV_KEEPREG,             0 }, +  { K_NOP,     nv_nop,         0,                      0 }, +  { K_INS,     nv_edit,        0,                      0 }, +  { K_KINS,    nv_edit,        0,                      0 }, +  { K_BS,      nv_ctrlh,       0,                      0 }, +  { K_UP,      nv_up,          NV_SSS|NV_STS,          false }, +  { K_S_UP,    nv_page,        NV_SS,                  BACKWARD }, +  { K_DOWN,    nv_down,        NV_SSS|NV_STS,          false }, +  { K_S_DOWN,  nv_page,        NV_SS,                  FORWARD }, +  { K_LEFT,    nv_left,        NV_SSS|NV_STS|NV_RL,    0 }, +  { K_S_LEFT,  nv_bck_word,    NV_SS|NV_RL,            0 }, +  { K_C_LEFT,  nv_bck_word,    NV_SSS|NV_RL|NV_STS,    1 }, +  { K_RIGHT,   nv_right,       NV_SSS|NV_STS|NV_RL,    0 }, +  { K_S_RIGHT, nv_wordcmd,     NV_SS|NV_RL,            false }, +  { K_C_RIGHT, nv_wordcmd,     NV_SSS|NV_RL|NV_STS,    true }, +  { K_PAGEUP,  nv_page,        NV_SSS|NV_STS,          BACKWARD }, +  { K_KPAGEUP, nv_page,        NV_SSS|NV_STS,          BACKWARD }, +  { K_PAGEDOWN, nv_page,       NV_SSS|NV_STS,          FORWARD }, +  { K_KPAGEDOWN, nv_page,      NV_SSS|NV_STS,          FORWARD }, +  { K_END,     nv_end,         NV_SSS|NV_STS,          false }, +  { K_KEND,    nv_end,         NV_SSS|NV_STS,          false }, +  { K_S_END,   nv_end,         NV_SS,                  false }, +  { K_C_END,   nv_end,         NV_SSS|NV_STS,          true }, +  { K_HOME,    nv_home,        NV_SSS|NV_STS,          0 }, +  { K_KHOME,   nv_home,        NV_SSS|NV_STS,          0 }, +  { K_S_HOME,  nv_home,        NV_SS,                  0 }, +  { K_C_HOME,  nv_goto,        NV_SSS|NV_STS,          false }, +  { K_DEL,     nv_abbrev,      0,                      0 }, +  { K_KDEL,    nv_abbrev,      0,                      0 }, +  { K_UNDO,    nv_kundo,       0,                      0 }, +  { K_HELP,    nv_help,        NV_NCW,                 0 }, +  { K_F1,      nv_help,        NV_NCW,                 0 }, +  { K_XF1,     nv_help,        NV_NCW,                 0 }, +  { K_SELECT,  nv_select,      0,                      0 }, +  { K_F8,      farsi_f8,       0,                      0 }, +  { K_F9,      farsi_f9,       0,                      0 }, +  { K_EVENT,   nv_event,       NV_KEEPREG,             0 }, +  { K_FOCUSGAINED, nv_focusgained, NV_KEEPREG,         0 }, +  { K_FOCUSLOST,   nv_focuslost,   NV_KEEPREG,         0 },  };  /* Number of commands in nv_cmds[]. */ | 
