
Recientemente comencé a usar Vim. De editores anteriores, estoy acostumbrado a eliminar una palabra completa presionando Ctrl- Backspace. Después de mirar la documentación descubrí que esto se hacía presionando Ctrl- wen Vim. El problema es que después de acostumbrarme a presionar Ctrl- w, comencé a cerrar pestañas y chats cada vez que escribo mal una palabra (mientras escribía esta pregunta, cerré esta pestaña 5 veces). Entonces verifiqué cómo asignar claves en Vim y probé esto:
:imap <C-BS> <C-w>
Desafortunadamente, no funcionó. Después de investigar un poco descubrí que el terminal no distingue entre Ctrl- Backspacey Backspace. Vi algunos trucos y parches para solucionar este problema, pero no pude hacerlos funcionar en Terminator (que es el emulador que quiero usar).
¿Hay alguna forma de mapear Ctrlen BackspaceVim cuando se usa Terminator?
Respuesta1
Debido a la forma en que se maneja internamente la entrada del teclado, esto lamentablemente no es posible hoy en día. Algunas combinaciones de teclas, como Ctrl+ no alfabéticas, no se pueden asignar y no se pueden distinguir Ctrl+ letra frente a Ctrl+ + letra. Shift(A menos que su terminal envíe un mensaje distintotermcapcódigo para ello, que la mayoría no lo hace). En el modo de inserción o de línea de comandos, intente escribir la combinación de teclas. Si no sucede/se inserta nada, no podrá utilizar esa combinación de teclas. Esto también se aplica a <Tab>
/ <C-I>
, <CR>
// <C-M>
/ <Esc>
etc. <C-[>
(La única excepción es <BS>
/ <C-H>
.) Este es un problema conocido y el tema de varias discusiones en vim_dev y el canal IRC #vim.
Algunas personas (sobre todo Paul LeoNerd Evans) quieren arreglar eso (incluso para la consola Vim en terminales que lo admiten) y han presentado varias propuestas, cp.http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8
Pero a día de hoy, aún no se han presentado parches ni voluntarios, aunque muchos han expresado su deseo de tener esto en una futura versión importante de Vim 8.