vi_keymap.c 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877
  1. /* vi_keymap.c -- the keymap for vi_mode in readline (). */
  2. /* Copyright (C) 1987-2009 Free Software Foundation, Inc.
  3. This file is part of the GNU Readline Library (Readline), a library
  4. for reading lines of text with interactive input and history editing.
  5. Readline is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. Readline is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with Readline. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #if !defined (BUFSIZ)
  17. #include <stdio.h>
  18. #endif /* !BUFSIZ */
  19. #include "readline.h"
  20. #if 0
  21. extern KEYMAP_ENTRY_ARRAY vi_escape_keymap;
  22. #endif
  23. /* The keymap arrays for handling vi mode. */
  24. KEYMAP_ENTRY_ARRAY vi_movement_keymap = {
  25. /* The regular control keys come first. */
  26. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-@ */
  27. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-a */
  28. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-b */
  29. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-c */
  30. { ISFUNC, rl_vi_eof_maybe }, /* Control-d */
  31. { ISFUNC, rl_emacs_editing_mode }, /* Control-e */
  32. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-f */
  33. { ISFUNC, rl_abort }, /* Control-g */
  34. { ISFUNC, rl_backward_char }, /* Control-h */
  35. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-i */
  36. { ISFUNC, rl_newline }, /* Control-j */
  37. { ISFUNC, rl_kill_line }, /* Control-k */
  38. { ISFUNC, rl_clear_screen }, /* Control-l */
  39. { ISFUNC, rl_newline }, /* Control-m */
  40. { ISFUNC, rl_get_next_history }, /* Control-n */
  41. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-o */
  42. { ISFUNC, rl_get_previous_history }, /* Control-p */
  43. { ISFUNC, rl_quoted_insert }, /* Control-q */
  44. { ISFUNC, rl_reverse_search_history }, /* Control-r */
  45. { ISFUNC, rl_forward_search_history }, /* Control-s */
  46. { ISFUNC, rl_transpose_chars }, /* Control-t */
  47. { ISFUNC, rl_unix_line_discard }, /* Control-u */
  48. { ISFUNC, rl_quoted_insert }, /* Control-v */
  49. { ISFUNC, rl_unix_word_rubout }, /* Control-w */
  50. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-x */
  51. { ISFUNC, rl_yank }, /* Control-y */
  52. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-z */
  53. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-[ */ /* vi_escape_keymap */
  54. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-\ */
  55. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-] */
  56. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-^ */
  57. { ISFUNC, rl_vi_undo }, /* Control-_ */
  58. /* The start of printing characters. */
  59. { ISFUNC, rl_forward_char }, /* SPACE */
  60. { ISFUNC, (rl_command_func_t *)0x0 }, /* ! */
  61. { ISFUNC, (rl_command_func_t *)0x0 }, /* " */
  62. { ISFUNC, rl_insert_comment }, /* # */
  63. { ISFUNC, rl_end_of_line }, /* $ */
  64. { ISFUNC, rl_vi_match }, /* % */
  65. { ISFUNC, rl_vi_tilde_expand }, /* & */
  66. { ISFUNC, (rl_command_func_t *)0x0 }, /* ' */
  67. { ISFUNC, (rl_command_func_t *)0x0 }, /* ( */
  68. { ISFUNC, (rl_command_func_t *)0x0 }, /* ) */
  69. { ISFUNC, rl_vi_complete }, /* * */
  70. { ISFUNC, rl_get_next_history}, /* + */
  71. { ISFUNC, rl_vi_char_search }, /* , */
  72. { ISFUNC, rl_get_previous_history }, /* - */
  73. { ISFUNC, rl_vi_redo }, /* . */
  74. { ISFUNC, rl_vi_search }, /* / */
  75. /* Regular digits. */
  76. { ISFUNC, rl_beg_of_line }, /* 0 */
  77. { ISFUNC, rl_vi_arg_digit }, /* 1 */
  78. { ISFUNC, rl_vi_arg_digit }, /* 2 */
  79. { ISFUNC, rl_vi_arg_digit }, /* 3 */
  80. { ISFUNC, rl_vi_arg_digit }, /* 4 */
  81. { ISFUNC, rl_vi_arg_digit }, /* 5 */
  82. { ISFUNC, rl_vi_arg_digit }, /* 6 */
  83. { ISFUNC, rl_vi_arg_digit }, /* 7 */
  84. { ISFUNC, rl_vi_arg_digit }, /* 8 */
  85. { ISFUNC, rl_vi_arg_digit }, /* 9 */
  86. /* A little more punctuation. */
  87. { ISFUNC, (rl_command_func_t *)0x0 }, /* : */
  88. { ISFUNC, rl_vi_char_search }, /* ; */
  89. { ISFUNC, (rl_command_func_t *)0x0 }, /* < */
  90. { ISFUNC, rl_vi_complete }, /* = */
  91. { ISFUNC, (rl_command_func_t *)0x0 }, /* > */
  92. { ISFUNC, rl_vi_search }, /* ? */
  93. { ISFUNC, (rl_command_func_t *)0x0 }, /* @ */
  94. /* Uppercase alphabet. */
  95. { ISFUNC, rl_vi_append_eol }, /* A */
  96. { ISFUNC, rl_vi_prev_word}, /* B */
  97. { ISFUNC, rl_vi_change_to }, /* C */
  98. { ISFUNC, rl_vi_delete_to }, /* D */
  99. { ISFUNC, rl_vi_end_word }, /* E */
  100. { ISFUNC, rl_vi_char_search }, /* F */
  101. { ISFUNC, rl_vi_fetch_history }, /* G */
  102. { ISFUNC, (rl_command_func_t *)0x0 }, /* H */
  103. { ISFUNC, rl_vi_insert_beg }, /* I */
  104. { ISFUNC, (rl_command_func_t *)0x0 }, /* J */
  105. { ISFUNC, (rl_command_func_t *)0x0 }, /* K */
  106. { ISFUNC, (rl_command_func_t *)0x0 }, /* L */
  107. { ISFUNC, (rl_command_func_t *)0x0 }, /* M */
  108. { ISFUNC, rl_vi_search_again }, /* N */
  109. { ISFUNC, (rl_command_func_t *)0x0 }, /* O */
  110. { ISFUNC, rl_vi_put }, /* P */
  111. { ISFUNC, (rl_command_func_t *)0x0 }, /* Q */
  112. { ISFUNC, rl_vi_replace }, /* R */
  113. { ISFUNC, rl_vi_subst }, /* S */
  114. { ISFUNC, rl_vi_char_search }, /* T */
  115. { ISFUNC, rl_revert_line }, /* U */
  116. { ISFUNC, (rl_command_func_t *)0x0 }, /* V */
  117. { ISFUNC, rl_vi_next_word }, /* W */
  118. { ISFUNC, rl_vi_rubout }, /* X */
  119. { ISFUNC, rl_vi_yank_to }, /* Y */
  120. { ISFUNC, (rl_command_func_t *)0x0 }, /* Z */
  121. /* Some more punctuation. */
  122. { ISFUNC, (rl_command_func_t *)0x0 }, /* [ */
  123. { ISFUNC, rl_vi_complete }, /* \ */
  124. { ISFUNC, (rl_command_func_t *)0x0 }, /* ] */
  125. { ISFUNC, rl_vi_first_print }, /* ^ */
  126. { ISFUNC, rl_vi_yank_arg }, /* _ */
  127. { ISFUNC, rl_vi_goto_mark }, /* ` */
  128. /* Lowercase alphabet. */
  129. { ISFUNC, rl_vi_append_mode }, /* a */
  130. { ISFUNC, rl_vi_prev_word }, /* b */
  131. { ISFUNC, rl_vi_change_to }, /* c */
  132. { ISFUNC, rl_vi_delete_to }, /* d */
  133. { ISFUNC, rl_vi_end_word }, /* e */
  134. { ISFUNC, rl_vi_char_search }, /* f */
  135. { ISFUNC, (rl_command_func_t *)0x0 }, /* g */
  136. { ISFUNC, rl_backward_char }, /* h */
  137. { ISFUNC, rl_vi_insert_mode }, /* i */
  138. { ISFUNC, rl_get_next_history }, /* j */
  139. { ISFUNC, rl_get_previous_history }, /* k */
  140. { ISFUNC, rl_forward_char }, /* l */
  141. { ISFUNC, rl_vi_set_mark }, /* m */
  142. { ISFUNC, rl_vi_search_again }, /* n */
  143. { ISFUNC, (rl_command_func_t *)0x0 }, /* o */
  144. { ISFUNC, rl_vi_put }, /* p */
  145. { ISFUNC, (rl_command_func_t *)0x0 }, /* q */
  146. { ISFUNC, rl_vi_change_char }, /* r */
  147. { ISFUNC, rl_vi_subst }, /* s */
  148. { ISFUNC, rl_vi_char_search }, /* t */
  149. { ISFUNC, rl_vi_undo }, /* u */
  150. { ISFUNC, (rl_command_func_t *)0x0 }, /* v */
  151. { ISFUNC, rl_vi_next_word }, /* w */
  152. { ISFUNC, rl_vi_delete }, /* x */
  153. { ISFUNC, rl_vi_yank_to }, /* y */
  154. { ISFUNC, (rl_command_func_t *)0x0 }, /* z */
  155. /* Final punctuation. */
  156. { ISFUNC, (rl_command_func_t *)0x0 }, /* { */
  157. { ISFUNC, rl_vi_column }, /* | */
  158. { ISFUNC, (rl_command_func_t *)0x0 }, /* } */
  159. { ISFUNC, rl_vi_change_case }, /* ~ */
  160. { ISFUNC, (rl_command_func_t *)0x0 }, /* RUBOUT */
  161. #if KEYMAP_SIZE > 128
  162. /* Undefined keys. */
  163. { ISFUNC, (rl_command_func_t *)0x0 },
  164. { ISFUNC, (rl_command_func_t *)0x0 },
  165. { ISFUNC, (rl_command_func_t *)0x0 },
  166. { ISFUNC, (rl_command_func_t *)0x0 },
  167. { ISFUNC, (rl_command_func_t *)0x0 },
  168. { ISFUNC, (rl_command_func_t *)0x0 },
  169. { ISFUNC, (rl_command_func_t *)0x0 },
  170. { ISFUNC, (rl_command_func_t *)0x0 },
  171. { ISFUNC, (rl_command_func_t *)0x0 },
  172. { ISFUNC, (rl_command_func_t *)0x0 },
  173. { ISFUNC, (rl_command_func_t *)0x0 },
  174. { ISFUNC, (rl_command_func_t *)0x0 },
  175. { ISFUNC, (rl_command_func_t *)0x0 },
  176. { ISFUNC, (rl_command_func_t *)0x0 },
  177. { ISFUNC, (rl_command_func_t *)0x0 },
  178. { ISFUNC, (rl_command_func_t *)0x0 },
  179. { ISFUNC, (rl_command_func_t *)0x0 },
  180. { ISFUNC, (rl_command_func_t *)0x0 },
  181. { ISFUNC, (rl_command_func_t *)0x0 },
  182. { ISFUNC, (rl_command_func_t *)0x0 },
  183. { ISFUNC, (rl_command_func_t *)0x0 },
  184. { ISFUNC, (rl_command_func_t *)0x0 },
  185. { ISFUNC, (rl_command_func_t *)0x0 },
  186. { ISFUNC, (rl_command_func_t *)0x0 },
  187. { ISFUNC, (rl_command_func_t *)0x0 },
  188. { ISFUNC, (rl_command_func_t *)0x0 },
  189. { ISFUNC, (rl_command_func_t *)0x0 },
  190. { ISFUNC, (rl_command_func_t *)0x0 },
  191. { ISFUNC, (rl_command_func_t *)0x0 },
  192. { ISFUNC, (rl_command_func_t *)0x0 },
  193. { ISFUNC, (rl_command_func_t *)0x0 },
  194. { ISFUNC, (rl_command_func_t *)0x0 },
  195. { ISFUNC, (rl_command_func_t *)0x0 },
  196. { ISFUNC, (rl_command_func_t *)0x0 },
  197. { ISFUNC, (rl_command_func_t *)0x0 },
  198. { ISFUNC, (rl_command_func_t *)0x0 },
  199. { ISFUNC, (rl_command_func_t *)0x0 },
  200. { ISFUNC, (rl_command_func_t *)0x0 },
  201. { ISFUNC, (rl_command_func_t *)0x0 },
  202. { ISFUNC, (rl_command_func_t *)0x0 },
  203. { ISFUNC, (rl_command_func_t *)0x0 },
  204. { ISFUNC, (rl_command_func_t *)0x0 },
  205. { ISFUNC, (rl_command_func_t *)0x0 },
  206. { ISFUNC, (rl_command_func_t *)0x0 },
  207. { ISFUNC, (rl_command_func_t *)0x0 },
  208. { ISFUNC, (rl_command_func_t *)0x0 },
  209. { ISFUNC, (rl_command_func_t *)0x0 },
  210. { ISFUNC, (rl_command_func_t *)0x0 },
  211. { ISFUNC, (rl_command_func_t *)0x0 },
  212. { ISFUNC, (rl_command_func_t *)0x0 },
  213. { ISFUNC, (rl_command_func_t *)0x0 },
  214. { ISFUNC, (rl_command_func_t *)0x0 },
  215. { ISFUNC, (rl_command_func_t *)0x0 },
  216. { ISFUNC, (rl_command_func_t *)0x0 },
  217. { ISFUNC, (rl_command_func_t *)0x0 },
  218. { ISFUNC, (rl_command_func_t *)0x0 },
  219. { ISFUNC, (rl_command_func_t *)0x0 },
  220. { ISFUNC, (rl_command_func_t *)0x0 },
  221. { ISFUNC, (rl_command_func_t *)0x0 },
  222. { ISFUNC, (rl_command_func_t *)0x0 },
  223. { ISFUNC, (rl_command_func_t *)0x0 },
  224. { ISFUNC, (rl_command_func_t *)0x0 },
  225. { ISFUNC, (rl_command_func_t *)0x0 },
  226. { ISFUNC, (rl_command_func_t *)0x0 },
  227. { ISFUNC, (rl_command_func_t *)0x0 },
  228. { ISFUNC, (rl_command_func_t *)0x0 },
  229. { ISFUNC, (rl_command_func_t *)0x0 },
  230. { ISFUNC, (rl_command_func_t *)0x0 },
  231. { ISFUNC, (rl_command_func_t *)0x0 },
  232. { ISFUNC, (rl_command_func_t *)0x0 },
  233. { ISFUNC, (rl_command_func_t *)0x0 },
  234. { ISFUNC, (rl_command_func_t *)0x0 },
  235. { ISFUNC, (rl_command_func_t *)0x0 },
  236. { ISFUNC, (rl_command_func_t *)0x0 },
  237. { ISFUNC, (rl_command_func_t *)0x0 },
  238. { ISFUNC, (rl_command_func_t *)0x0 },
  239. { ISFUNC, (rl_command_func_t *)0x0 },
  240. { ISFUNC, (rl_command_func_t *)0x0 },
  241. { ISFUNC, (rl_command_func_t *)0x0 },
  242. { ISFUNC, (rl_command_func_t *)0x0 },
  243. { ISFUNC, (rl_command_func_t *)0x0 },
  244. { ISFUNC, (rl_command_func_t *)0x0 },
  245. { ISFUNC, (rl_command_func_t *)0x0 },
  246. { ISFUNC, (rl_command_func_t *)0x0 },
  247. { ISFUNC, (rl_command_func_t *)0x0 },
  248. { ISFUNC, (rl_command_func_t *)0x0 },
  249. { ISFUNC, (rl_command_func_t *)0x0 },
  250. { ISFUNC, (rl_command_func_t *)0x0 },
  251. { ISFUNC, (rl_command_func_t *)0x0 },
  252. { ISFUNC, (rl_command_func_t *)0x0 },
  253. { ISFUNC, (rl_command_func_t *)0x0 },
  254. { ISFUNC, (rl_command_func_t *)0x0 },
  255. { ISFUNC, (rl_command_func_t *)0x0 },
  256. { ISFUNC, (rl_command_func_t *)0x0 },
  257. { ISFUNC, (rl_command_func_t *)0x0 },
  258. { ISFUNC, (rl_command_func_t *)0x0 },
  259. { ISFUNC, (rl_command_func_t *)0x0 },
  260. { ISFUNC, (rl_command_func_t *)0x0 },
  261. { ISFUNC, (rl_command_func_t *)0x0 },
  262. { ISFUNC, (rl_command_func_t *)0x0 },
  263. { ISFUNC, (rl_command_func_t *)0x0 },
  264. { ISFUNC, (rl_command_func_t *)0x0 },
  265. { ISFUNC, (rl_command_func_t *)0x0 },
  266. { ISFUNC, (rl_command_func_t *)0x0 },
  267. { ISFUNC, (rl_command_func_t *)0x0 },
  268. { ISFUNC, (rl_command_func_t *)0x0 },
  269. { ISFUNC, (rl_command_func_t *)0x0 },
  270. { ISFUNC, (rl_command_func_t *)0x0 },
  271. { ISFUNC, (rl_command_func_t *)0x0 },
  272. { ISFUNC, (rl_command_func_t *)0x0 },
  273. { ISFUNC, (rl_command_func_t *)0x0 },
  274. { ISFUNC, (rl_command_func_t *)0x0 },
  275. { ISFUNC, (rl_command_func_t *)0x0 },
  276. { ISFUNC, (rl_command_func_t *)0x0 },
  277. { ISFUNC, (rl_command_func_t *)0x0 },
  278. { ISFUNC, (rl_command_func_t *)0x0 },
  279. { ISFUNC, (rl_command_func_t *)0x0 },
  280. { ISFUNC, (rl_command_func_t *)0x0 },
  281. { ISFUNC, (rl_command_func_t *)0x0 },
  282. { ISFUNC, (rl_command_func_t *)0x0 },
  283. { ISFUNC, (rl_command_func_t *)0x0 },
  284. { ISFUNC, (rl_command_func_t *)0x0 },
  285. { ISFUNC, (rl_command_func_t *)0x0 },
  286. { ISFUNC, (rl_command_func_t *)0x0 },
  287. { ISFUNC, (rl_command_func_t *)0x0 },
  288. { ISFUNC, (rl_command_func_t *)0x0 },
  289. { ISFUNC, (rl_command_func_t *)0x0 },
  290. { ISFUNC, (rl_command_func_t *)0x0 }
  291. #endif /* KEYMAP_SIZE > 128 */
  292. };
  293. KEYMAP_ENTRY_ARRAY vi_insertion_keymap = {
  294. /* The regular control keys come first. */
  295. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-@ */
  296. { ISFUNC, rl_insert }, /* Control-a */
  297. { ISFUNC, rl_insert }, /* Control-b */
  298. { ISFUNC, rl_insert }, /* Control-c */
  299. { ISFUNC, rl_vi_eof_maybe }, /* Control-d */
  300. { ISFUNC, rl_insert }, /* Control-e */
  301. { ISFUNC, rl_insert }, /* Control-f */
  302. { ISFUNC, rl_insert }, /* Control-g */
  303. { ISFUNC, rl_rubout }, /* Control-h */
  304. { ISFUNC, rl_complete }, /* Control-i */
  305. { ISFUNC, rl_newline }, /* Control-j */
  306. { ISFUNC, rl_insert }, /* Control-k */
  307. { ISFUNC, rl_insert }, /* Control-l */
  308. { ISFUNC, rl_newline }, /* Control-m */
  309. { ISFUNC, rl_menu_complete}, /* Control-n */
  310. { ISFUNC, rl_insert }, /* Control-o */
  311. { ISFUNC, rl_backward_menu_complete }, /* Control-p */
  312. { ISFUNC, rl_insert }, /* Control-q */
  313. { ISFUNC, rl_reverse_search_history }, /* Control-r */
  314. { ISFUNC, rl_forward_search_history }, /* Control-s */
  315. { ISFUNC, rl_transpose_chars }, /* Control-t */
  316. { ISFUNC, rl_unix_line_discard }, /* Control-u */
  317. { ISFUNC, rl_quoted_insert }, /* Control-v */
  318. { ISFUNC, rl_unix_word_rubout }, /* Control-w */
  319. { ISFUNC, rl_insert }, /* Control-x */
  320. { ISFUNC, rl_yank }, /* Control-y */
  321. { ISFUNC, rl_insert }, /* Control-z */
  322. { ISFUNC, rl_vi_movement_mode }, /* Control-[ */
  323. { ISFUNC, rl_insert }, /* Control-\ */
  324. { ISFUNC, rl_insert }, /* Control-] */
  325. { ISFUNC, rl_insert }, /* Control-^ */
  326. { ISFUNC, rl_vi_undo }, /* Control-_ */
  327. /* The start of printing characters. */
  328. { ISFUNC, rl_insert }, /* SPACE */
  329. { ISFUNC, rl_insert }, /* ! */
  330. { ISFUNC, rl_insert }, /* " */
  331. { ISFUNC, rl_insert }, /* # */
  332. { ISFUNC, rl_insert }, /* $ */
  333. { ISFUNC, rl_insert }, /* % */
  334. { ISFUNC, rl_insert }, /* & */
  335. { ISFUNC, rl_insert }, /* ' */
  336. { ISFUNC, rl_insert }, /* ( */
  337. { ISFUNC, rl_insert }, /* ) */
  338. { ISFUNC, rl_insert }, /* * */
  339. { ISFUNC, rl_insert }, /* + */
  340. { ISFUNC, rl_insert }, /* , */
  341. { ISFUNC, rl_insert }, /* - */
  342. { ISFUNC, rl_insert }, /* . */
  343. { ISFUNC, rl_insert }, /* / */
  344. /* Regular digits. */
  345. { ISFUNC, rl_insert }, /* 0 */
  346. { ISFUNC, rl_insert }, /* 1 */
  347. { ISFUNC, rl_insert }, /* 2 */
  348. { ISFUNC, rl_insert }, /* 3 */
  349. { ISFUNC, rl_insert }, /* 4 */
  350. { ISFUNC, rl_insert }, /* 5 */
  351. { ISFUNC, rl_insert }, /* 6 */
  352. { ISFUNC, rl_insert }, /* 7 */
  353. { ISFUNC, rl_insert }, /* 8 */
  354. { ISFUNC, rl_insert }, /* 9 */
  355. /* A little more punctuation. */
  356. { ISFUNC, rl_insert }, /* : */
  357. { ISFUNC, rl_insert }, /* ; */
  358. { ISFUNC, rl_insert }, /* < */
  359. { ISFUNC, rl_insert }, /* = */
  360. { ISFUNC, rl_insert }, /* > */
  361. { ISFUNC, rl_insert }, /* ? */
  362. { ISFUNC, rl_insert }, /* @ */
  363. /* Uppercase alphabet. */
  364. { ISFUNC, rl_insert }, /* A */
  365. { ISFUNC, rl_insert }, /* B */
  366. { ISFUNC, rl_insert }, /* C */
  367. { ISFUNC, rl_insert }, /* D */
  368. { ISFUNC, rl_insert }, /* E */
  369. { ISFUNC, rl_insert }, /* F */
  370. { ISFUNC, rl_insert }, /* G */
  371. { ISFUNC, rl_insert }, /* H */
  372. { ISFUNC, rl_insert }, /* I */
  373. { ISFUNC, rl_insert }, /* J */
  374. { ISFUNC, rl_insert }, /* K */
  375. { ISFUNC, rl_insert }, /* L */
  376. { ISFUNC, rl_insert }, /* M */
  377. { ISFUNC, rl_insert }, /* N */
  378. { ISFUNC, rl_insert }, /* O */
  379. { ISFUNC, rl_insert }, /* P */
  380. { ISFUNC, rl_insert }, /* Q */
  381. { ISFUNC, rl_insert }, /* R */
  382. { ISFUNC, rl_insert }, /* S */
  383. { ISFUNC, rl_insert }, /* T */
  384. { ISFUNC, rl_insert }, /* U */
  385. { ISFUNC, rl_insert }, /* V */
  386. { ISFUNC, rl_insert }, /* W */
  387. { ISFUNC, rl_insert }, /* X */
  388. { ISFUNC, rl_insert }, /* Y */
  389. { ISFUNC, rl_insert }, /* Z */
  390. /* Some more punctuation. */
  391. { ISFUNC, rl_insert }, /* [ */
  392. { ISFUNC, rl_insert }, /* \ */
  393. { ISFUNC, rl_insert }, /* ] */
  394. { ISFUNC, rl_insert }, /* ^ */
  395. { ISFUNC, rl_insert }, /* _ */
  396. { ISFUNC, rl_insert }, /* ` */
  397. /* Lowercase alphabet. */
  398. { ISFUNC, rl_insert }, /* a */
  399. { ISFUNC, rl_insert }, /* b */
  400. { ISFUNC, rl_insert }, /* c */
  401. { ISFUNC, rl_insert }, /* d */
  402. { ISFUNC, rl_insert }, /* e */
  403. { ISFUNC, rl_insert }, /* f */
  404. { ISFUNC, rl_insert }, /* g */
  405. { ISFUNC, rl_insert }, /* h */
  406. { ISFUNC, rl_insert }, /* i */
  407. { ISFUNC, rl_insert }, /* j */
  408. { ISFUNC, rl_insert }, /* k */
  409. { ISFUNC, rl_insert }, /* l */
  410. { ISFUNC, rl_insert }, /* m */
  411. { ISFUNC, rl_insert }, /* n */
  412. { ISFUNC, rl_insert }, /* o */
  413. { ISFUNC, rl_insert }, /* p */
  414. { ISFUNC, rl_insert }, /* q */
  415. { ISFUNC, rl_insert }, /* r */
  416. { ISFUNC, rl_insert }, /* s */
  417. { ISFUNC, rl_insert }, /* t */
  418. { ISFUNC, rl_insert }, /* u */
  419. { ISFUNC, rl_insert }, /* v */
  420. { ISFUNC, rl_insert }, /* w */
  421. { ISFUNC, rl_insert }, /* x */
  422. { ISFUNC, rl_insert }, /* y */
  423. { ISFUNC, rl_insert }, /* z */
  424. /* Final punctuation. */
  425. { ISFUNC, rl_insert }, /* { */
  426. { ISFUNC, rl_insert }, /* | */
  427. { ISFUNC, rl_insert }, /* } */
  428. { ISFUNC, rl_insert }, /* ~ */
  429. { ISFUNC, rl_rubout }, /* RUBOUT */
  430. #if KEYMAP_SIZE > 128
  431. /* Pure 8-bit characters (128 - 159).
  432. These might be used in some
  433. character sets. */
  434. { ISFUNC, rl_insert }, /* ? */
  435. { ISFUNC, rl_insert }, /* ? */
  436. { ISFUNC, rl_insert }, /* ? */
  437. { ISFUNC, rl_insert }, /* ? */
  438. { ISFUNC, rl_insert }, /* ? */
  439. { ISFUNC, rl_insert }, /* ? */
  440. { ISFUNC, rl_insert }, /* ? */
  441. { ISFUNC, rl_insert }, /* ? */
  442. { ISFUNC, rl_insert }, /* ? */
  443. { ISFUNC, rl_insert }, /* ? */
  444. { ISFUNC, rl_insert }, /* ? */
  445. { ISFUNC, rl_insert }, /* ? */
  446. { ISFUNC, rl_insert }, /* ? */
  447. { ISFUNC, rl_insert }, /* ? */
  448. { ISFUNC, rl_insert }, /* ? */
  449. { ISFUNC, rl_insert }, /* ? */
  450. { ISFUNC, rl_insert }, /* ? */
  451. { ISFUNC, rl_insert }, /* ? */
  452. { ISFUNC, rl_insert }, /* ? */
  453. { ISFUNC, rl_insert }, /* ? */
  454. { ISFUNC, rl_insert }, /* ? */
  455. { ISFUNC, rl_insert }, /* ? */
  456. { ISFUNC, rl_insert }, /* ? */
  457. { ISFUNC, rl_insert }, /* ? */
  458. { ISFUNC, rl_insert }, /* ? */
  459. { ISFUNC, rl_insert }, /* ? */
  460. { ISFUNC, rl_insert }, /* ? */
  461. { ISFUNC, rl_insert }, /* ? */
  462. { ISFUNC, rl_insert }, /* ? */
  463. { ISFUNC, rl_insert }, /* ? */
  464. { ISFUNC, rl_insert }, /* ? */
  465. { ISFUNC, rl_insert }, /* ? */
  466. /* ISO Latin-1 characters (160 - 255) */
  467. { ISFUNC, rl_insert }, /* No-break space */
  468. { ISFUNC, rl_insert }, /* Inverted exclamation mark */
  469. { ISFUNC, rl_insert }, /* Cent sign */
  470. { ISFUNC, rl_insert }, /* Pound sign */
  471. { ISFUNC, rl_insert }, /* Currency sign */
  472. { ISFUNC, rl_insert }, /* Yen sign */
  473. { ISFUNC, rl_insert }, /* Broken bar */
  474. { ISFUNC, rl_insert }, /* Section sign */
  475. { ISFUNC, rl_insert }, /* Diaeresis */
  476. { ISFUNC, rl_insert }, /* Copyright sign */
  477. { ISFUNC, rl_insert }, /* Feminine ordinal indicator */
  478. { ISFUNC, rl_insert }, /* Left pointing double angle quotation mark */
  479. { ISFUNC, rl_insert }, /* Not sign */
  480. { ISFUNC, rl_insert }, /* Soft hyphen */
  481. { ISFUNC, rl_insert }, /* Registered sign */
  482. { ISFUNC, rl_insert }, /* Macron */
  483. { ISFUNC, rl_insert }, /* Degree sign */
  484. { ISFUNC, rl_insert }, /* Plus-minus sign */
  485. { ISFUNC, rl_insert }, /* Superscript two */
  486. { ISFUNC, rl_insert }, /* Superscript three */
  487. { ISFUNC, rl_insert }, /* Acute accent */
  488. { ISFUNC, rl_insert }, /* Micro sign */
  489. { ISFUNC, rl_insert }, /* Pilcrow sign */
  490. { ISFUNC, rl_insert }, /* Middle dot */
  491. { ISFUNC, rl_insert }, /* Cedilla */
  492. { ISFUNC, rl_insert }, /* Superscript one */
  493. { ISFUNC, rl_insert }, /* Masculine ordinal indicator */
  494. { ISFUNC, rl_insert }, /* Right pointing double angle quotation mark */
  495. { ISFUNC, rl_insert }, /* Vulgar fraction one quarter */
  496. { ISFUNC, rl_insert }, /* Vulgar fraction one half */
  497. { ISFUNC, rl_insert }, /* Vulgar fraction three quarters */
  498. { ISFUNC, rl_insert }, /* Inverted questionk mark */
  499. { ISFUNC, rl_insert }, /* Latin capital letter a with grave */
  500. { ISFUNC, rl_insert }, /* Latin capital letter a with acute */
  501. { ISFUNC, rl_insert }, /* Latin capital letter a with circumflex */
  502. { ISFUNC, rl_insert }, /* Latin capital letter a with tilde */
  503. { ISFUNC, rl_insert }, /* Latin capital letter a with diaeresis */
  504. { ISFUNC, rl_insert }, /* Latin capital letter a with ring above */
  505. { ISFUNC, rl_insert }, /* Latin capital letter ae */
  506. { ISFUNC, rl_insert }, /* Latin capital letter c with cedilla */
  507. { ISFUNC, rl_insert }, /* Latin capital letter e with grave */
  508. { ISFUNC, rl_insert }, /* Latin capital letter e with acute */
  509. { ISFUNC, rl_insert }, /* Latin capital letter e with circumflex */
  510. { ISFUNC, rl_insert }, /* Latin capital letter e with diaeresis */
  511. { ISFUNC, rl_insert }, /* Latin capital letter i with grave */
  512. { ISFUNC, rl_insert }, /* Latin capital letter i with acute */
  513. { ISFUNC, rl_insert }, /* Latin capital letter i with circumflex */
  514. { ISFUNC, rl_insert }, /* Latin capital letter i with diaeresis */
  515. { ISFUNC, rl_insert }, /* Latin capital letter eth (Icelandic) */
  516. { ISFUNC, rl_insert }, /* Latin capital letter n with tilde */
  517. { ISFUNC, rl_insert }, /* Latin capital letter o with grave */
  518. { ISFUNC, rl_insert }, /* Latin capital letter o with acute */
  519. { ISFUNC, rl_insert }, /* Latin capital letter o with circumflex */
  520. { ISFUNC, rl_insert }, /* Latin capital letter o with tilde */
  521. { ISFUNC, rl_insert }, /* Latin capital letter o with diaeresis */
  522. { ISFUNC, rl_insert }, /* Multiplication sign */
  523. { ISFUNC, rl_insert }, /* Latin capital letter o with stroke */
  524. { ISFUNC, rl_insert }, /* Latin capital letter u with grave */
  525. { ISFUNC, rl_insert }, /* Latin capital letter u with acute */
  526. { ISFUNC, rl_insert }, /* Latin capital letter u with circumflex */
  527. { ISFUNC, rl_insert }, /* Latin capital letter u with diaeresis */
  528. { ISFUNC, rl_insert }, /* Latin capital letter Y with acute */
  529. { ISFUNC, rl_insert }, /* Latin capital letter thorn (Icelandic) */
  530. { ISFUNC, rl_insert }, /* Latin small letter sharp s (German) */
  531. { ISFUNC, rl_insert }, /* Latin small letter a with grave */
  532. { ISFUNC, rl_insert }, /* Latin small letter a with acute */
  533. { ISFUNC, rl_insert }, /* Latin small letter a with circumflex */
  534. { ISFUNC, rl_insert }, /* Latin small letter a with tilde */
  535. { ISFUNC, rl_insert }, /* Latin small letter a with diaeresis */
  536. { ISFUNC, rl_insert }, /* Latin small letter a with ring above */
  537. { ISFUNC, rl_insert }, /* Latin small letter ae */
  538. { ISFUNC, rl_insert }, /* Latin small letter c with cedilla */
  539. { ISFUNC, rl_insert }, /* Latin small letter e with grave */
  540. { ISFUNC, rl_insert }, /* Latin small letter e with acute */
  541. { ISFUNC, rl_insert }, /* Latin small letter e with circumflex */
  542. { ISFUNC, rl_insert }, /* Latin small letter e with diaeresis */
  543. { ISFUNC, rl_insert }, /* Latin small letter i with grave */
  544. { ISFUNC, rl_insert }, /* Latin small letter i with acute */
  545. { ISFUNC, rl_insert }, /* Latin small letter i with circumflex */
  546. { ISFUNC, rl_insert }, /* Latin small letter i with diaeresis */
  547. { ISFUNC, rl_insert }, /* Latin small letter eth (Icelandic) */
  548. { ISFUNC, rl_insert }, /* Latin small letter n with tilde */
  549. { ISFUNC, rl_insert }, /* Latin small letter o with grave */
  550. { ISFUNC, rl_insert }, /* Latin small letter o with acute */
  551. { ISFUNC, rl_insert }, /* Latin small letter o with circumflex */
  552. { ISFUNC, rl_insert }, /* Latin small letter o with tilde */
  553. { ISFUNC, rl_insert }, /* Latin small letter o with diaeresis */
  554. { ISFUNC, rl_insert }, /* Division sign */
  555. { ISFUNC, rl_insert }, /* Latin small letter o with stroke */
  556. { ISFUNC, rl_insert }, /* Latin small letter u with grave */
  557. { ISFUNC, rl_insert }, /* Latin small letter u with acute */
  558. { ISFUNC, rl_insert }, /* Latin small letter u with circumflex */
  559. { ISFUNC, rl_insert }, /* Latin small letter u with diaeresis */
  560. { ISFUNC, rl_insert }, /* Latin small letter y with acute */
  561. { ISFUNC, rl_insert }, /* Latin small letter thorn (Icelandic) */
  562. { ISFUNC, rl_insert } /* Latin small letter y with diaeresis */
  563. #endif /* KEYMAP_SIZE > 128 */
  564. };
  565. /* Unused for the time being. */
  566. #if 0
  567. KEYMAP_ENTRY_ARRAY vi_escape_keymap = {
  568. /* The regular control keys come first. */
  569. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-@ */
  570. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-a */
  571. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-b */
  572. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-c */
  573. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-d */
  574. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-e */
  575. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-f */
  576. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-g */
  577. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-h */
  578. { ISFUNC, rl_tab_insert}, /* Control-i */
  579. { ISFUNC, rl_emacs_editing_mode}, /* Control-j */
  580. { ISFUNC, rl_kill_line }, /* Control-k */
  581. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-l */
  582. { ISFUNC, rl_emacs_editing_mode}, /* Control-m */
  583. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-n */
  584. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-o */
  585. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-p */
  586. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-q */
  587. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-r */
  588. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-s */
  589. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-t */
  590. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-u */
  591. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-v */
  592. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-w */
  593. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-x */
  594. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-y */
  595. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-z */
  596. { ISFUNC, rl_vi_movement_mode }, /* Control-[ */
  597. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-\ */
  598. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-] */
  599. { ISFUNC, (rl_command_func_t *)0x0 }, /* Control-^ */
  600. { ISFUNC, rl_vi_undo }, /* Control-_ */
  601. /* The start of printing characters. */
  602. { ISFUNC, (rl_command_func_t *)0x0 }, /* SPACE */
  603. { ISFUNC, (rl_command_func_t *)0x0 }, /* ! */
  604. { ISFUNC, (rl_command_func_t *)0x0 }, /* " */
  605. { ISFUNC, (rl_command_func_t *)0x0 }, /* # */
  606. { ISFUNC, (rl_command_func_t *)0x0 }, /* $ */
  607. { ISFUNC, (rl_command_func_t *)0x0 }, /* % */
  608. { ISFUNC, (rl_command_func_t *)0x0 }, /* & */
  609. { ISFUNC, (rl_command_func_t *)0x0 }, /* ' */
  610. { ISFUNC, (rl_command_func_t *)0x0 }, /* ( */
  611. { ISFUNC, (rl_command_func_t *)0x0 }, /* ) */
  612. { ISFUNC, (rl_command_func_t *)0x0 }, /* * */
  613. { ISFUNC, (rl_command_func_t *)0x0 }, /* + */
  614. { ISFUNC, (rl_command_func_t *)0x0 }, /* , */
  615. { ISFUNC, (rl_command_func_t *)0x0 }, /* - */
  616. { ISFUNC, (rl_command_func_t *)0x0 }, /* . */
  617. { ISFUNC, (rl_command_func_t *)0x0 }, /* / */
  618. /* Regular digits. */
  619. { ISFUNC, rl_vi_arg_digit }, /* 0 */
  620. { ISFUNC, rl_vi_arg_digit }, /* 1 */
  621. { ISFUNC, rl_vi_arg_digit }, /* 2 */
  622. { ISFUNC, rl_vi_arg_digit }, /* 3 */
  623. { ISFUNC, rl_vi_arg_digit }, /* 4 */
  624. { ISFUNC, rl_vi_arg_digit }, /* 5 */
  625. { ISFUNC, rl_vi_arg_digit }, /* 6 */
  626. { ISFUNC, rl_vi_arg_digit }, /* 7 */
  627. { ISFUNC, rl_vi_arg_digit }, /* 8 */
  628. { ISFUNC, rl_vi_arg_digit }, /* 9 */
  629. /* A little more punctuation. */
  630. { ISFUNC, (rl_command_func_t *)0x0 }, /* : */
  631. { ISFUNC, (rl_command_func_t *)0x0 }, /* ; */
  632. { ISFUNC, (rl_command_func_t *)0x0 }, /* < */
  633. { ISFUNC, (rl_command_func_t *)0x0 }, /* = */
  634. { ISFUNC, (rl_command_func_t *)0x0 }, /* > */
  635. { ISFUNC, (rl_command_func_t *)0x0 }, /* ? */
  636. { ISFUNC, (rl_command_func_t *)0x0 }, /* @ */
  637. /* Uppercase alphabet. */
  638. { ISFUNC, rl_do_lowercase_version }, /* A */
  639. { ISFUNC, rl_do_lowercase_version }, /* B */
  640. { ISFUNC, rl_do_lowercase_version }, /* C */
  641. { ISFUNC, rl_do_lowercase_version }, /* D */
  642. { ISFUNC, rl_do_lowercase_version }, /* E */
  643. { ISFUNC, rl_do_lowercase_version }, /* F */
  644. { ISFUNC, rl_do_lowercase_version }, /* G */
  645. { ISFUNC, rl_do_lowercase_version }, /* H */
  646. { ISFUNC, rl_do_lowercase_version }, /* I */
  647. { ISFUNC, rl_do_lowercase_version }, /* J */
  648. { ISFUNC, rl_do_lowercase_version }, /* K */
  649. { ISFUNC, rl_do_lowercase_version }, /* L */
  650. { ISFUNC, rl_do_lowercase_version }, /* M */
  651. { ISFUNC, rl_do_lowercase_version }, /* N */
  652. { ISFUNC, rl_do_lowercase_version }, /* O */
  653. { ISFUNC, rl_do_lowercase_version }, /* P */
  654. { ISFUNC, rl_do_lowercase_version }, /* Q */
  655. { ISFUNC, rl_do_lowercase_version }, /* R */
  656. { ISFUNC, rl_do_lowercase_version }, /* S */
  657. { ISFUNC, rl_do_lowercase_version }, /* T */
  658. { ISFUNC, rl_do_lowercase_version }, /* U */
  659. { ISFUNC, rl_do_lowercase_version }, /* V */
  660. { ISFUNC, rl_do_lowercase_version }, /* W */
  661. { ISFUNC, rl_do_lowercase_version }, /* X */
  662. { ISFUNC, rl_do_lowercase_version }, /* Y */
  663. { ISFUNC, rl_do_lowercase_version }, /* Z */
  664. /* Some more punctuation. */
  665. { ISFUNC, rl_arrow_keys }, /* [ */
  666. { ISFUNC, (rl_command_func_t *)0x0 }, /* \ */
  667. { ISFUNC, (rl_command_func_t *)0x0 }, /* ] */
  668. { ISFUNC, (rl_command_func_t *)0x0 }, /* ^ */
  669. { ISFUNC, (rl_command_func_t *)0x0 }, /* _ */
  670. { ISFUNC, (rl_command_func_t *)0x0 }, /* ` */
  671. /* Lowercase alphabet. */
  672. { ISFUNC, (rl_command_func_t *)0x0 }, /* a */
  673. { ISFUNC, (rl_command_func_t *)0x0 }, /* b */
  674. { ISFUNC, (rl_command_func_t *)0x0 }, /* c */
  675. { ISFUNC, (rl_command_func_t *)0x0 }, /* d */
  676. { ISFUNC, (rl_command_func_t *)0x0 }, /* e */
  677. { ISFUNC, (rl_command_func_t *)0x0 }, /* f */
  678. { ISFUNC, (rl_command_func_t *)0x0 }, /* g */
  679. { ISFUNC, (rl_command_func_t *)0x0 }, /* h */
  680. { ISFUNC, (rl_command_func_t *)0x0 }, /* i */
  681. { ISFUNC, (rl_command_func_t *)0x0 }, /* j */
  682. { ISFUNC, (rl_command_func_t *)0x0 }, /* k */
  683. { ISFUNC, (rl_command_func_t *)0x0 }, /* l */
  684. { ISFUNC, (rl_command_func_t *)0x0 }, /* m */
  685. { ISFUNC, (rl_command_func_t *)0x0 }, /* n */
  686. { ISFUNC, rl_arrow_keys }, /* o */
  687. { ISFUNC, (rl_command_func_t *)0x0 }, /* p */
  688. { ISFUNC, (rl_command_func_t *)0x0 }, /* q */
  689. { ISFUNC, (rl_command_func_t *)0x0 }, /* r */
  690. { ISFUNC, (rl_command_func_t *)0x0 }, /* s */
  691. { ISFUNC, (rl_command_func_t *)0x0 }, /* t */
  692. { ISFUNC, (rl_command_func_t *)0x0 }, /* u */
  693. { ISFUNC, (rl_command_func_t *)0x0 }, /* v */
  694. { ISFUNC, (rl_command_func_t *)0x0 }, /* w */
  695. { ISFUNC, (rl_command_func_t *)0x0 }, /* x */
  696. { ISFUNC, (rl_command_func_t *)0x0 }, /* y */
  697. { ISFUNC, (rl_command_func_t *)0x0 }, /* z */
  698. /* Final punctuation. */
  699. { ISFUNC, (rl_command_func_t *)0x0 }, /* { */
  700. { ISFUNC, (rl_command_func_t *)0x0 }, /* | */
  701. { ISFUNC, (rl_command_func_t *)0x0 }, /* } */
  702. { ISFUNC, (rl_command_func_t *)0x0 }, /* ~ */
  703. { ISFUNC, rl_backward_kill_word }, /* RUBOUT */
  704. #if KEYMAP_SIZE > 128
  705. /* Undefined keys. */
  706. { ISFUNC, (rl_command_func_t *)0x0 },
  707. { ISFUNC, (rl_command_func_t *)0x0 },
  708. { ISFUNC, (rl_command_func_t *)0x0 },
  709. { ISFUNC, (rl_command_func_t *)0x0 },
  710. { ISFUNC, (rl_command_func_t *)0x0 },
  711. { ISFUNC, (rl_command_func_t *)0x0 },
  712. { ISFUNC, (rl_command_func_t *)0x0 },
  713. { ISFUNC, (rl_command_func_t *)0x0 },
  714. { ISFUNC, (rl_command_func_t *)0x0 },
  715. { ISFUNC, (rl_command_func_t *)0x0 },
  716. { ISFUNC, (rl_command_func_t *)0x0 },
  717. { ISFUNC, (rl_command_func_t *)0x0 },
  718. { ISFUNC, (rl_command_func_t *)0x0 },
  719. { ISFUNC, (rl_command_func_t *)0x0 },
  720. { ISFUNC, (rl_command_func_t *)0x0 },
  721. { ISFUNC, (rl_command_func_t *)0x0 },
  722. { ISFUNC, (rl_command_func_t *)0x0 },
  723. { ISFUNC, (rl_command_func_t *)0x0 },
  724. { ISFUNC, (rl_command_func_t *)0x0 },
  725. { ISFUNC, (rl_command_func_t *)0x0 },
  726. { ISFUNC, (rl_command_func_t *)0x0 },
  727. { ISFUNC, (rl_command_func_t *)0x0 },
  728. { ISFUNC, (rl_command_func_t *)0x0 },
  729. { ISFUNC, (rl_command_func_t *)0x0 },
  730. { ISFUNC, (rl_command_func_t *)0x0 },
  731. { ISFUNC, (rl_command_func_t *)0x0 },
  732. { ISFUNC, (rl_command_func_t *)0x0 },
  733. { ISFUNC, (rl_command_func_t *)0x0 },
  734. { ISFUNC, (rl_command_func_t *)0x0 },
  735. { ISFUNC, (rl_command_func_t *)0x0 },
  736. { ISFUNC, (rl_command_func_t *)0x0 },
  737. { ISFUNC, (rl_command_func_t *)0x0 },
  738. { ISFUNC, (rl_command_func_t *)0x0 },
  739. { ISFUNC, (rl_command_func_t *)0x0 },
  740. { ISFUNC, (rl_command_func_t *)0x0 },
  741. { ISFUNC, (rl_command_func_t *)0x0 },
  742. { ISFUNC, (rl_command_func_t *)0x0 },
  743. { ISFUNC, (rl_command_func_t *)0x0 },
  744. { ISFUNC, (rl_command_func_t *)0x0 },
  745. { ISFUNC, (rl_command_func_t *)0x0 },
  746. { ISFUNC, (rl_command_func_t *)0x0 },
  747. { ISFUNC, (rl_command_func_t *)0x0 },
  748. { ISFUNC, (rl_command_func_t *)0x0 },
  749. { ISFUNC, (rl_command_func_t *)0x0 },
  750. { ISFUNC, (rl_command_func_t *)0x0 },
  751. { ISFUNC, (rl_command_func_t *)0x0 },
  752. { ISFUNC, (rl_command_func_t *)0x0 },
  753. { ISFUNC, (rl_command_func_t *)0x0 },
  754. { ISFUNC, (rl_command_func_t *)0x0 },
  755. { ISFUNC, (rl_command_func_t *)0x0 },
  756. { ISFUNC, (rl_command_func_t *)0x0 },
  757. { ISFUNC, (rl_command_func_t *)0x0 },
  758. { ISFUNC, (rl_command_func_t *)0x0 },
  759. { ISFUNC, (rl_command_func_t *)0x0 },
  760. { ISFUNC, (rl_command_func_t *)0x0 },
  761. { ISFUNC, (rl_command_func_t *)0x0 },
  762. { ISFUNC, (rl_command_func_t *)0x0 },
  763. { ISFUNC, (rl_command_func_t *)0x0 },
  764. { ISFUNC, (rl_command_func_t *)0x0 },
  765. { ISFUNC, (rl_command_func_t *)0x0 },
  766. { ISFUNC, (rl_command_func_t *)0x0 },
  767. { ISFUNC, (rl_command_func_t *)0x0 },
  768. { ISFUNC, (rl_command_func_t *)0x0 },
  769. { ISFUNC, (rl_command_func_t *)0x0 },
  770. { ISFUNC, (rl_command_func_t *)0x0 },
  771. { ISFUNC, (rl_command_func_t *)0x0 },
  772. { ISFUNC, (rl_command_func_t *)0x0 },
  773. { ISFUNC, (rl_command_func_t *)0x0 },
  774. { ISFUNC, (rl_command_func_t *)0x0 },
  775. { ISFUNC, (rl_command_func_t *)0x0 },
  776. { ISFUNC, (rl_command_func_t *)0x0 },
  777. { ISFUNC, (rl_command_func_t *)0x0 },
  778. { ISFUNC, (rl_command_func_t *)0x0 },
  779. { ISFUNC, (rl_command_func_t *)0x0 },
  780. { ISFUNC, (rl_command_func_t *)0x0 },
  781. { ISFUNC, (rl_command_func_t *)0x0 },
  782. { ISFUNC, (rl_command_func_t *)0x0 },
  783. { ISFUNC, (rl_command_func_t *)0x0 },
  784. { ISFUNC, (rl_command_func_t *)0x0 },
  785. { ISFUNC, (rl_command_func_t *)0x0 },
  786. { ISFUNC, (rl_command_func_t *)0x0 },
  787. { ISFUNC, (rl_command_func_t *)0x0 },
  788. { ISFUNC, (rl_command_func_t *)0x0 },
  789. { ISFUNC, (rl_command_func_t *)0x0 },
  790. { ISFUNC, (rl_command_func_t *)0x0 },
  791. { ISFUNC, (rl_command_func_t *)0x0 },
  792. { ISFUNC, (rl_command_func_t *)0x0 },
  793. { ISFUNC, (rl_command_func_t *)0x0 },
  794. { ISFUNC, (rl_command_func_t *)0x0 },
  795. { ISFUNC, (rl_command_func_t *)0x0 },
  796. { ISFUNC, (rl_command_func_t *)0x0 },
  797. { ISFUNC, (rl_command_func_t *)0x0 },
  798. { ISFUNC, (rl_command_func_t *)0x0 },
  799. { ISFUNC, (rl_command_func_t *)0x0 },
  800. { ISFUNC, (rl_command_func_t *)0x0 },
  801. { ISFUNC, (rl_command_func_t *)0x0 },
  802. { ISFUNC, (rl_command_func_t *)0x0 },
  803. { ISFUNC, (rl_command_func_t *)0x0 },
  804. { ISFUNC, (rl_command_func_t *)0x0 },
  805. { ISFUNC, (rl_command_func_t *)0x0 },
  806. { ISFUNC, (rl_command_func_t *)0x0 },
  807. { ISFUNC, (rl_command_func_t *)0x0 },
  808. { ISFUNC, (rl_command_func_t *)0x0 },
  809. { ISFUNC, (rl_command_func_t *)0x0 },
  810. { ISFUNC, (rl_command_func_t *)0x0 },
  811. { ISFUNC, (rl_command_func_t *)0x0 },
  812. { ISFUNC, (rl_command_func_t *)0x0 },
  813. { ISFUNC, (rl_command_func_t *)0x0 },
  814. { ISFUNC, (rl_command_func_t *)0x0 },
  815. { ISFUNC, (rl_command_func_t *)0x0 },
  816. { ISFUNC, (rl_command_func_t *)0x0 },
  817. { ISFUNC, (rl_command_func_t *)0x0 },
  818. { ISFUNC, (rl_command_func_t *)0x0 },
  819. { ISFUNC, (rl_command_func_t *)0x0 },
  820. { ISFUNC, (rl_command_func_t *)0x0 },
  821. { ISFUNC, (rl_command_func_t *)0x0 },
  822. { ISFUNC, (rl_command_func_t *)0x0 },
  823. { ISFUNC, (rl_command_func_t *)0x0 },
  824. { ISFUNC, (rl_command_func_t *)0x0 },
  825. { ISFUNC, (rl_command_func_t *)0x0 },
  826. { ISFUNC, (rl_command_func_t *)0x0 },
  827. { ISFUNC, (rl_command_func_t *)0x0 },
  828. { ISFUNC, (rl_command_func_t *)0x0 },
  829. { ISFUNC, (rl_command_func_t *)0x0 },
  830. { ISFUNC, (rl_command_func_t *)0x0 },
  831. { ISFUNC, (rl_command_func_t *)0x0 },
  832. { ISFUNC, (rl_command_func_t *)0x0 },
  833. { ISFUNC, (rl_command_func_t *)0x0 }
  834. #endif /* KEYMAP_SIZE > 128 */
  835. };
  836. #endif