Mercurial > vim
comparison src/map.c @ 28773:d770568e6c98 v8.2.4911
patch 8.2.4911: the mode #defines are not clearly named
Commit: https://github.com/vim/vim/commit/249591057b4840785c50e41dd850efb8a8faf435
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 7 20:01:16 2022 +0100
patch 8.2.4911: the mode #defines are not clearly named
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 May 2022 21:15:06 +0200 |
parents | 141fb1d233ba |
children | 1ad71fcbf546 |
comparison
equal
deleted
inserted
replaced
28772:7b07ca0bb292 | 28773:d770568e6c98 |
---|---|
29 * "mode" is the lower 4 bits of the State for the mapping. | 29 * "mode" is the lower 4 bits of the State for the mapping. |
30 * "c1" is the first character of the "lhs". | 30 * "c1" is the first character of the "lhs". |
31 * Returns a value between 0 and 255, index in maphash. | 31 * Returns a value between 0 and 255, index in maphash. |
32 * Put Normal/Visual mode mappings mostly separately from Insert/Cmdline mode. | 32 * Put Normal/Visual mode mappings mostly separately from Insert/Cmdline mode. |
33 */ | 33 */ |
34 #define MAP_HASH(mode, c1) (((mode) & (NORMAL + VISUAL + SELECTMODE + OP_PENDING + TERMINAL)) ? (c1) : ((c1) ^ 0x80)) | 34 #define MAP_HASH(mode, c1) (((mode) & (MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING | MODE_TERMINAL)) ? (c1) : ((c1) ^ 0x80)) |
35 | 35 |
36 /* | 36 /* |
37 * Get the start of the hashed map list for "state" and first character "c". | 37 * Get the start of the hashed map list for "state" and first character "c". |
38 */ | 38 */ |
39 mapblock_T * | 39 mapblock_T * |
99 { | 99 { |
100 garray_T mapmode; | 100 garray_T mapmode; |
101 | 101 |
102 ga_init2(&mapmode, 1, 7); | 102 ga_init2(&mapmode, 1, 7); |
103 | 103 |
104 if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) | 104 if ((mode & (MODE_INSERT | MODE_CMDLINE)) == (MODE_INSERT | MODE_CMDLINE)) |
105 ga_append(&mapmode, '!'); // :map! | 105 ga_append(&mapmode, '!'); // :map! |
106 else if (mode & INSERT) | 106 else if (mode & MODE_INSERT) |
107 ga_append(&mapmode, 'i'); // :imap | 107 ga_append(&mapmode, 'i'); // :imap |
108 else if (mode & LANGMAP) | 108 else if (mode & MODE_LANGMAP) |
109 ga_append(&mapmode, 'l'); // :lmap | 109 ga_append(&mapmode, 'l'); // :lmap |
110 else if (mode & CMDLINE) | 110 else if (mode & MODE_CMDLINE) |
111 ga_append(&mapmode, 'c'); // :cmap | 111 ga_append(&mapmode, 'c'); // :cmap |
112 else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING)) | 112 else if ((mode |
113 == NORMAL + VISUAL + SELECTMODE + OP_PENDING) | 113 & (MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING)) |
114 == (MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING)) | |
114 ga_append(&mapmode, ' '); // :map | 115 ga_append(&mapmode, ' '); // :map |
115 else | 116 else |
116 { | 117 { |
117 if (mode & NORMAL) | 118 if (mode & MODE_NORMAL) |
118 ga_append(&mapmode, 'n'); // :nmap | 119 ga_append(&mapmode, 'n'); // :nmap |
119 if (mode & OP_PENDING) | 120 if (mode & MODE_OP_PENDING) |
120 ga_append(&mapmode, 'o'); // :omap | 121 ga_append(&mapmode, 'o'); // :omap |
121 if (mode & TERMINAL) | 122 if (mode & MODE_TERMINAL) |
122 ga_append(&mapmode, 't'); // :tmap | 123 ga_append(&mapmode, 't'); // :tmap |
123 if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) | 124 if ((mode & (MODE_VISUAL | MODE_SELECT)) == (MODE_VISUAL | MODE_SELECT)) |
124 ga_append(&mapmode, 'v'); // :vmap | 125 ga_append(&mapmode, 'v'); // :vmap |
125 else | 126 else |
126 { | 127 { |
127 if (mode & VISUAL) | 128 if (mode & MODE_VISUAL) |
128 ga_append(&mapmode, 'x'); // :xmap | 129 ga_append(&mapmode, 'x'); // :xmap |
129 if (mode & SELECTMODE) | 130 if (mode & MODE_SELECT) |
130 ga_append(&mapmode, 's'); // :smap | 131 ga_append(&mapmode, 's'); // :smap |
131 } | 132 } |
132 } | 133 } |
133 | 134 |
134 ga_append(&mapmode, NUL); | 135 ga_append(&mapmode, NUL); |
295 * maptype: 0 for :map, 1 for :unmap, 2 for noremap. | 296 * maptype: 0 for :map, 1 for :unmap, 2 for noremap. |
296 * | 297 * |
297 * arg is pointer to any arguments. Note: arg cannot be a read-only string, | 298 * arg is pointer to any arguments. Note: arg cannot be a read-only string, |
298 * it will be modified. | 299 * it will be modified. |
299 * | 300 * |
300 * for :map mode is NORMAL + VISUAL + SELECTMODE + OP_PENDING | 301 * for :map mode is MODE_NORMAL | MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING |
301 * for :map! mode is INSERT + CMDLINE | 302 * for :map! mode is MODE_INSERT | MODE_CMDLINE |
302 * for :cmap mode is CMDLINE | 303 * for :cmap mode is MODE_CMDLINE |
303 * for :imap mode is INSERT | 304 * for :imap mode is MODE_INSERT |
304 * for :lmap mode is LANGMAP | 305 * for :lmap mode is MODE_LANGMAP |
305 * for :nmap mode is NORMAL | 306 * for :nmap mode is MODE_NORMAL |
306 * for :vmap mode is VISUAL + SELECTMODE | 307 * for :vmap mode is MODE_VISUAL | MODE_SELECT |
307 * for :xmap mode is VISUAL | 308 * for :xmap mode is MODE_VISUAL |
308 * for :smap mode is SELECTMODE | 309 * for :smap mode is MODE_SELECT |
309 * for :omap mode is OP_PENDING | 310 * for :omap mode is MODE_OP_PENDING |
310 * for :tmap mode is TERMINAL | 311 * for :tmap mode is MODE_TERMINAL |
311 * | 312 * |
312 * for :abbr mode is INSERT + CMDLINE | 313 * for :abbr mode is MODE_INSERT | MODE_CMDLINE |
313 * for :iabbr mode is INSERT | 314 * for :iabbr mode is MODE_INSERT |
314 * for :cabbr mode is CMDLINE | 315 * for :cabbr mode is MODE_CMDLINE |
315 * | 316 * |
316 * Return 0 for success | 317 * Return 0 for success |
317 * 1 for invalid arguments | 318 * 1 for invalid arguments |
318 * 2 for no match | 319 * 2 for no match |
319 * 4 for out of mem | 320 * 4 for out of mem |
870 int mode; | 871 int mode; |
871 | 872 |
872 p = *cmdp; | 873 p = *cmdp; |
873 modec = *p++; | 874 modec = *p++; |
874 if (modec == 'i') | 875 if (modec == 'i') |
875 mode = INSERT; // :imap | 876 mode = MODE_INSERT; // :imap |
876 else if (modec == 'l') | 877 else if (modec == 'l') |
877 mode = LANGMAP; // :lmap | 878 mode = MODE_LANGMAP; // :lmap |
878 else if (modec == 'c') | 879 else if (modec == 'c') |
879 mode = CMDLINE; // :cmap | 880 mode = MODE_CMDLINE; // :cmap |
880 else if (modec == 'n' && *p != 'o') // avoid :noremap | 881 else if (modec == 'n' && *p != 'o') // avoid :noremap |
881 mode = NORMAL; // :nmap | 882 mode = MODE_NORMAL; // :nmap |
882 else if (modec == 'v') | 883 else if (modec == 'v') |
883 mode = VISUAL + SELECTMODE; // :vmap | 884 mode = MODE_VISUAL | MODE_SELECT; // :vmap |
884 else if (modec == 'x') | 885 else if (modec == 'x') |
885 mode = VISUAL; // :xmap | 886 mode = MODE_VISUAL; // :xmap |
886 else if (modec == 's') | 887 else if (modec == 's') |
887 mode = SELECTMODE; // :smap | 888 mode = MODE_SELECT; // :smap |
888 else if (modec == 'o') | 889 else if (modec == 'o') |
889 mode = OP_PENDING; // :omap | 890 mode = MODE_OP_PENDING; // :omap |
890 else if (modec == 't') | 891 else if (modec == 't') |
891 mode = TERMINAL; // :tmap | 892 mode = MODE_TERMINAL; // :tmap |
892 else | 893 else |
893 { | 894 { |
894 --p; | 895 --p; |
895 if (forceit) | 896 if (forceit) |
896 mode = INSERT + CMDLINE; // :map ! | 897 mode = MODE_INSERT | MODE_CMDLINE; // :map ! |
897 else | 898 else |
898 mode = VISUAL + SELECTMODE + NORMAL + OP_PENDING;// :map | 899 mode = MODE_VISUAL | MODE_SELECT | MODE_NORMAL | MODE_OP_PENDING; |
900 // :map | |
899 } | 901 } |
900 | 902 |
901 *cmdp = p; | 903 *cmdp = p; |
902 return mode; | 904 return mode; |
903 } | 905 } |
1000 mode_str2flags(char_u *modechars) | 1002 mode_str2flags(char_u *modechars) |
1001 { | 1003 { |
1002 int mode = 0; | 1004 int mode = 0; |
1003 | 1005 |
1004 if (vim_strchr(modechars, 'n') != NULL) | 1006 if (vim_strchr(modechars, 'n') != NULL) |
1005 mode |= NORMAL; | 1007 mode |= MODE_NORMAL; |
1006 if (vim_strchr(modechars, 'v') != NULL) | 1008 if (vim_strchr(modechars, 'v') != NULL) |
1007 mode |= VISUAL + SELECTMODE; | 1009 mode |= MODE_VISUAL | MODE_SELECT; |
1008 if (vim_strchr(modechars, 'x') != NULL) | 1010 if (vim_strchr(modechars, 'x') != NULL) |
1009 mode |= VISUAL; | 1011 mode |= MODE_VISUAL; |
1010 if (vim_strchr(modechars, 's') != NULL) | 1012 if (vim_strchr(modechars, 's') != NULL) |
1011 mode |= SELECTMODE; | 1013 mode |= MODE_SELECT; |
1012 if (vim_strchr(modechars, 'o') != NULL) | 1014 if (vim_strchr(modechars, 'o') != NULL) |
1013 mode |= OP_PENDING; | 1015 mode |= MODE_OP_PENDING; |
1014 if (vim_strchr(modechars, 'i') != NULL) | 1016 if (vim_strchr(modechars, 'i') != NULL) |
1015 mode |= INSERT; | 1017 mode |= MODE_INSERT; |
1016 if (vim_strchr(modechars, 'l') != NULL) | 1018 if (vim_strchr(modechars, 'l') != NULL) |
1017 mode |= LANGMAP; | 1019 mode |= MODE_LANGMAP; |
1018 if (vim_strchr(modechars, 'c') != NULL) | 1020 if (vim_strchr(modechars, 'c') != NULL) |
1019 mode |= CMDLINE; | 1021 mode |= MODE_CMDLINE; |
1020 | 1022 |
1021 return mode; | 1023 return mode; |
1022 } | 1024 } |
1023 | 1025 |
1024 /* | 1026 /* |
1190 { | 1192 { |
1191 if (isunmap) | 1193 if (isunmap) |
1192 expand_mapmodes = get_map_mode(&cmd, forceit || isabbrev); | 1194 expand_mapmodes = get_map_mode(&cmd, forceit || isabbrev); |
1193 else | 1195 else |
1194 { | 1196 { |
1195 expand_mapmodes = INSERT + CMDLINE; | 1197 expand_mapmodes = MODE_INSERT | MODE_CMDLINE; |
1196 if (!isabbrev) | 1198 if (!isabbrev) |
1197 expand_mapmodes += VISUAL + SELECTMODE + NORMAL + OP_PENDING; | 1199 expand_mapmodes += MODE_VISUAL | MODE_SELECT | MODE_NORMAL |
1200 | MODE_OP_PENDING; | |
1198 } | 1201 } |
1199 expand_isabbrev = isabbrev; | 1202 expand_isabbrev = isabbrev; |
1200 xp->xp_context = EXPAND_MAPPINGS; | 1203 xp->xp_context = EXPAND_MAPPINGS; |
1201 expand_buffer = FALSE; | 1204 expand_buffer = FALSE; |
1202 for (;;) | 1205 for (;;) |
1862 cmd = "abbr"; | 1865 cmd = "abbr"; |
1863 else | 1866 else |
1864 cmd = "map"; | 1867 cmd = "map"; |
1865 switch (mp->m_mode) | 1868 switch (mp->m_mode) |
1866 { | 1869 { |
1867 case NORMAL + VISUAL + SELECTMODE + OP_PENDING: | 1870 case MODE_NORMAL | MODE_VISUAL | MODE_SELECT |
1871 | MODE_OP_PENDING: | |
1868 break; | 1872 break; |
1869 case NORMAL: | 1873 case MODE_NORMAL: |
1870 c1 = 'n'; | 1874 c1 = 'n'; |
1871 break; | 1875 break; |
1872 case VISUAL: | 1876 case MODE_VISUAL: |
1873 c1 = 'x'; | 1877 c1 = 'x'; |
1874 break; | 1878 break; |
1875 case SELECTMODE: | 1879 case MODE_SELECT: |
1876 c1 = 's'; | 1880 c1 = 's'; |
1877 break; | 1881 break; |
1878 case OP_PENDING: | 1882 case MODE_OP_PENDING: |
1879 c1 = 'o'; | 1883 c1 = 'o'; |
1880 break; | 1884 break; |
1881 case NORMAL + VISUAL: | 1885 case MODE_NORMAL | MODE_VISUAL: |
1882 c1 = 'n'; | 1886 c1 = 'n'; |
1883 c2 = 'x'; | 1887 c2 = 'x'; |
1884 break; | 1888 break; |
1885 case NORMAL + SELECTMODE: | 1889 case MODE_NORMAL | MODE_SELECT: |
1886 c1 = 'n'; | 1890 c1 = 'n'; |
1887 c2 = 's'; | 1891 c2 = 's'; |
1888 break; | 1892 break; |
1889 case NORMAL + OP_PENDING: | 1893 case MODE_NORMAL | MODE_OP_PENDING: |
1890 c1 = 'n'; | 1894 c1 = 'n'; |
1891 c2 = 'o'; | 1895 c2 = 'o'; |
1892 break; | 1896 break; |
1893 case VISUAL + SELECTMODE: | 1897 case MODE_VISUAL | MODE_SELECT: |
1894 c1 = 'v'; | 1898 c1 = 'v'; |
1895 break; | 1899 break; |
1896 case VISUAL + OP_PENDING: | 1900 case MODE_VISUAL | MODE_OP_PENDING: |
1897 c1 = 'x'; | 1901 c1 = 'x'; |
1898 c2 = 'o'; | 1902 c2 = 'o'; |
1899 break; | 1903 break; |
1900 case SELECTMODE + OP_PENDING: | 1904 case MODE_SELECT | MODE_OP_PENDING: |
1901 c1 = 's'; | 1905 c1 = 's'; |
1902 c2 = 'o'; | 1906 c2 = 'o'; |
1903 break; | 1907 break; |
1904 case NORMAL + VISUAL + SELECTMODE: | 1908 case MODE_NORMAL | MODE_VISUAL | MODE_SELECT: |
1905 c1 = 'n'; | 1909 c1 = 'n'; |
1906 c2 = 'v'; | 1910 c2 = 'v'; |
1907 break; | 1911 break; |
1908 case NORMAL + VISUAL + OP_PENDING: | 1912 case MODE_NORMAL | MODE_VISUAL | MODE_OP_PENDING: |
1909 c1 = 'n'; | 1913 c1 = 'n'; |
1910 c2 = 'x'; | 1914 c2 = 'x'; |
1911 c3 = 'o'; | 1915 c3 = 'o'; |
1912 break; | 1916 break; |
1913 case NORMAL + SELECTMODE + OP_PENDING: | 1917 case MODE_NORMAL | MODE_SELECT | MODE_OP_PENDING: |
1914 c1 = 'n'; | 1918 c1 = 'n'; |
1915 c2 = 's'; | 1919 c2 = 's'; |
1916 c3 = 'o'; | 1920 c3 = 'o'; |
1917 break; | 1921 break; |
1918 case VISUAL + SELECTMODE + OP_PENDING: | 1922 case MODE_VISUAL | MODE_SELECT | MODE_OP_PENDING: |
1919 c1 = 'v'; | 1923 c1 = 'v'; |
1920 c2 = 'o'; | 1924 c2 = 'o'; |
1921 break; | 1925 break; |
1922 case CMDLINE + INSERT: | 1926 case MODE_CMDLINE | MODE_INSERT: |
1923 if (!abbr) | 1927 if (!abbr) |
1924 cmd = "map!"; | 1928 cmd = "map!"; |
1925 break; | 1929 break; |
1926 case CMDLINE: | 1930 case MODE_CMDLINE: |
1927 c1 = 'c'; | 1931 c1 = 'c'; |
1928 break; | 1932 break; |
1929 case INSERT: | 1933 case MODE_INSERT: |
1930 c1 = 'i'; | 1934 c1 = 'i'; |
1931 break; | 1935 break; |
1932 case LANGMAP: | 1936 case MODE_LANGMAP: |
1933 c1 = 'l'; | 1937 c1 = 'l'; |
1934 break; | 1938 break; |
1935 case TERMINAL: | 1939 case MODE_TERMINAL: |
1936 c1 = 't'; | 1940 c1 = 't'; |
1937 break; | 1941 break; |
1938 default: | 1942 default: |
1939 iemsg(_(e_makemap_illegal_mode)); | 1943 iemsg(_(e_makemap_illegal_mode)); |
1940 return FAIL; | 1944 return FAIL; |
2493 { | 2497 { |
2494 char_u *p = mode_string; | 2498 char_u *p = mode_string; |
2495 int mode = 0; | 2499 int mode = 0; |
2496 int tmode; | 2500 int tmode; |
2497 int modec; | 2501 int modec; |
2498 const int MASK_V = VISUAL + SELECTMODE; | 2502 const int MASK_V = MODE_VISUAL | MODE_SELECT; |
2499 const int MASK_MAP = VISUAL + SELECTMODE + NORMAL + OP_PENDING; | 2503 const int MASK_MAP = MODE_VISUAL | MODE_SELECT | MODE_NORMAL |
2500 const int MASK_BANG = INSERT + CMDLINE; | 2504 | MODE_OP_PENDING; |
2505 const int MASK_BANG = MODE_INSERT | MODE_CMDLINE; | |
2501 | 2506 |
2502 if (*p == NUL) | 2507 if (*p == NUL) |
2503 p = (char_u *)" "; // compatibility | 2508 p = (char_u *)" "; // compatibility |
2504 while ((modec = *p++)) | 2509 while ((modec = *p++)) |
2505 { | 2510 { |
2506 switch (modec) | 2511 switch (modec) |
2507 { | 2512 { |
2508 case 'i': tmode = INSERT; break; | 2513 case 'i': tmode = MODE_INSERT; break; |
2509 case 'l': tmode = LANGMAP; break; | 2514 case 'l': tmode = MODE_LANGMAP; break; |
2510 case 'c': tmode = CMDLINE; break; | 2515 case 'c': tmode = MODE_CMDLINE; break; |
2511 case 'n': tmode = NORMAL; break; | 2516 case 'n': tmode = MODE_NORMAL; break; |
2512 case 'x': tmode = VISUAL; break; | 2517 case 'x': tmode = MODE_VISUAL; break; |
2513 case 's': tmode = SELECTMODE; break; | 2518 case 's': tmode = MODE_SELECT; break; |
2514 case 'o': tmode = OP_PENDING; break; | 2519 case 'o': tmode = MODE_OP_PENDING; break; |
2515 case 't': tmode = TERMINAL; break; | 2520 case 't': tmode = MODE_TERMINAL; break; |
2516 case 'v': tmode = MASK_V; break; | 2521 case 'v': tmode = MASK_V; break; |
2517 case '!': tmode = MASK_BANG; break; | 2522 case '!': tmode = MASK_BANG; break; |
2518 case ' ': tmode = MASK_MAP; break; | 2523 case ' ': tmode = MASK_MAP; break; |
2519 default: | 2524 default: |
2520 return 0; // error, unknown mode character | 2525 return 0; // error, unknown mode character |
2670 #endif | 2675 #endif |
2671 | 2676 |
2672 | 2677 |
2673 #if defined(MSWIN) || defined(MACOS_X) | 2678 #if defined(MSWIN) || defined(MACOS_X) |
2674 | 2679 |
2675 # define VIS_SEL (VISUAL+SELECTMODE) // abbreviation | 2680 # define VIS_SEL (MODE_VISUAL | MODE_SELECT) // abbreviation |
2676 | 2681 |
2677 /* | 2682 /* |
2678 * Default mappings for some often used keys. | 2683 * Default mappings for some often used keys. |
2679 */ | 2684 */ |
2680 struct initmap | 2685 struct initmap |
2686 # ifdef FEAT_GUI_MSWIN | 2691 # ifdef FEAT_GUI_MSWIN |
2687 // Use the Windows (CUA) keybindings. (GUI) | 2692 // Use the Windows (CUA) keybindings. (GUI) |
2688 static struct initmap initmappings[] = | 2693 static struct initmap initmappings[] = |
2689 { | 2694 { |
2690 // paste, copy and cut | 2695 // paste, copy and cut |
2691 {(char_u *)"<S-Insert> \"*P", NORMAL}, | 2696 {(char_u *)"<S-Insert> \"*P", MODE_NORMAL}, |
2692 {(char_u *)"<S-Insert> \"-d\"*P", VIS_SEL}, | 2697 {(char_u *)"<S-Insert> \"-d\"*P", VIS_SEL}, |
2693 {(char_u *)"<S-Insert> <C-R><C-O>*", INSERT+CMDLINE}, | 2698 {(char_u *)"<S-Insert> <C-R><C-O>*", MODE_INSERT | MODE_CMDLINE}, |
2694 {(char_u *)"<C-Insert> \"*y", VIS_SEL}, | 2699 {(char_u *)"<C-Insert> \"*y", VIS_SEL}, |
2695 {(char_u *)"<S-Del> \"*d", VIS_SEL}, | 2700 {(char_u *)"<S-Del> \"*d", VIS_SEL}, |
2696 {(char_u *)"<C-Del> \"*d", VIS_SEL}, | 2701 {(char_u *)"<C-Del> \"*d", VIS_SEL}, |
2697 {(char_u *)"<C-X> \"*d", VIS_SEL}, | 2702 {(char_u *)"<C-X> \"*d", VIS_SEL}, |
2698 // Missing: CTRL-C (cancel) and CTRL-V (block selection) | 2703 // Missing: CTRL-C (cancel) and CTRL-V (block selection) |
2701 | 2706 |
2702 # if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL)) | 2707 # if defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL)) |
2703 // Use the Windows (CUA) keybindings. (Console) | 2708 // Use the Windows (CUA) keybindings. (Console) |
2704 static struct initmap cinitmappings[] = | 2709 static struct initmap cinitmappings[] = |
2705 { | 2710 { |
2706 {(char_u *)"\316w <C-Home>", NORMAL+VIS_SEL}, | 2711 {(char_u *)"\316w <C-Home>", MODE_NORMAL | VIS_SEL}, |
2707 {(char_u *)"\316w <C-Home>", INSERT+CMDLINE}, | 2712 {(char_u *)"\316w <C-Home>", MODE_INSERT | MODE_CMDLINE}, |
2708 {(char_u *)"\316u <C-End>", NORMAL+VIS_SEL}, | 2713 {(char_u *)"\316u <C-End>", MODE_NORMAL | VIS_SEL}, |
2709 {(char_u *)"\316u <C-End>", INSERT+CMDLINE}, | 2714 {(char_u *)"\316u <C-End>", MODE_INSERT | MODE_CMDLINE}, |
2710 | 2715 |
2711 // paste, copy and cut | 2716 // paste, copy and cut |
2712 # ifdef FEAT_CLIPBOARD | 2717 # ifdef FEAT_CLIPBOARD |
2713 {(char_u *)"\316\324 \"*P", NORMAL}, // SHIFT-Insert is "*P | 2718 {(char_u *)"\316\324 \"*P", MODE_NORMAL}, // SHIFT-Insert is "*P |
2714 {(char_u *)"\316\324 \"-d\"*P", VIS_SEL}, // SHIFT-Insert is "-d"*P | 2719 {(char_u *)"\316\324 \"-d\"*P", VIS_SEL}, // SHIFT-Insert is "-d"*P |
2715 {(char_u *)"\316\324 \022\017*", INSERT}, // SHIFT-Insert is ^R^O* | 2720 {(char_u *)"\316\324 \022\017*", MODE_INSERT}, // SHIFT-Insert is ^R^O* |
2716 {(char_u *)"\316\325 \"*y", VIS_SEL}, // CTRL-Insert is "*y | 2721 {(char_u *)"\316\325 \"*y", VIS_SEL}, // CTRL-Insert is "*y |
2717 {(char_u *)"\316\327 \"*d", VIS_SEL}, // SHIFT-Del is "*d | 2722 {(char_u *)"\316\327 \"*d", VIS_SEL}, // SHIFT-Del is "*d |
2718 {(char_u *)"\316\330 \"*d", VIS_SEL}, // CTRL-Del is "*d | 2723 {(char_u *)"\316\330 \"*d", VIS_SEL}, // CTRL-Del is "*d |
2719 {(char_u *)"\030 \"*d", VIS_SEL}, // CTRL-X is "*d | 2724 {(char_u *)"\030 \"*d", VIS_SEL}, // CTRL-X is "*d |
2720 # else | 2725 # else |
2721 {(char_u *)"\316\324 P", NORMAL}, // SHIFT-Insert is P | 2726 {(char_u *)"\316\324 P", MODE_NORMAL}, // SHIFT-Insert is P |
2722 {(char_u *)"\316\324 \"-dP", VIS_SEL}, // SHIFT-Insert is "-dP | 2727 {(char_u *)"\316\324 \"-dP", VIS_SEL}, // SHIFT-Insert is "-dP |
2723 {(char_u *)"\316\324 \022\017\"", INSERT}, // SHIFT-Insert is ^R^O" | 2728 {(char_u *)"\316\324 \022\017\"", MODE_INSERT}, // SHIFT-Insert is ^R^O" |
2724 {(char_u *)"\316\325 y", VIS_SEL}, // CTRL-Insert is y | 2729 {(char_u *)"\316\325 y", VIS_SEL}, // CTRL-Insert is y |
2725 {(char_u *)"\316\327 d", VIS_SEL}, // SHIFT-Del is d | 2730 {(char_u *)"\316\327 d", VIS_SEL}, // SHIFT-Del is d |
2726 {(char_u *)"\316\330 d", VIS_SEL}, // CTRL-Del is d | 2731 {(char_u *)"\316\330 d", VIS_SEL}, // CTRL-Del is d |
2727 # endif | 2732 # endif |
2728 }; | 2733 }; |
2731 # if defined(MACOS_X) | 2736 # if defined(MACOS_X) |
2732 static struct initmap initmappings[] = | 2737 static struct initmap initmappings[] = |
2733 { | 2738 { |
2734 // Use the Standard MacOS binding. | 2739 // Use the Standard MacOS binding. |
2735 // paste, copy and cut | 2740 // paste, copy and cut |
2736 {(char_u *)"<D-v> \"*P", NORMAL}, | 2741 {(char_u *)"<D-v> \"*P", MODE_NORMAL}, |
2737 {(char_u *)"<D-v> \"-d\"*P", VIS_SEL}, | 2742 {(char_u *)"<D-v> \"-d\"*P", VIS_SEL}, |
2738 {(char_u *)"<D-v> <C-R>*", INSERT+CMDLINE}, | 2743 {(char_u *)"<D-v> <C-R>*", MODE_INSERT | MODE_CMDLINE}, |
2739 {(char_u *)"<D-c> \"*y", VIS_SEL}, | 2744 {(char_u *)"<D-c> \"*y", VIS_SEL}, |
2740 {(char_u *)"<D-x> \"*d", VIS_SEL}, | 2745 {(char_u *)"<D-x> \"*d", VIS_SEL}, |
2741 {(char_u *)"<Backspace> \"-d", VIS_SEL}, | 2746 {(char_u *)"<Backspace> \"-d", VIS_SEL}, |
2742 }; | 2747 }; |
2743 # endif | 2748 # endif |