Teclas de acceso rápido "Inicio" y "Fin" en el modo INSERT de Vim con MacBook Pro

Soy bastante nuevo en Vim y en Mac , tengo una MacBook Pro con Retina Display con OS X 10.8.3, que NO tiene teclas nativas Home, y .EndPageUpPageDown

Sé que el Fn+ arrow keyspuede funcionar en algunas aplicaciones. También en bash, puedo usar Ctrl+ Air al principio de la línea de comando que estoy escribiendo y Ctrl+ Eir al final.

Pero en Vim con el modo INSERT/editar, todo esto funciona de manera diferente. No quiero cambiar siempre al Modo Normal usando 0y $o Iy A. (O, ¿es esta la mejor manera?)

Entonces, ¿alguien puede mostrarme algunos trucos para asignar algunas teclas de acceso rápido que pueden funcionar convenientemente? O algunas otras soluciones? (Pero, por favor, sin MacVim, primero quiero probar Vim nativo por un tiempo :))?

Cualquier otro consejo para Home, y funciones en Mac también es bienvenido End.PageUpPageDown

Respuestas (3)

Vaya a Terminal -> Preferencias -> Perfiles -> Teclado y agregue:

Clave: ↖ Acción: \033OH

Clave: ↗ Acción: \033OF

Vim le permite asignar cualquier secuencia de teclas a otra secuencia de teclas usando :mapel comando. Hay varios tipos de este comando, que se pueden usar para crear accesos directos solo para algunos modos vim. Consulte esta página y/o :help mapcomando dentro de vim para obtener más detalles.

Acerca de sus preguntas, hay dos formas en vim para implementar Homeel comportamiento:

  • 0(cero) para ir a la primera columna
  • ^para ir a la columna con el primer carácter que no sea un espacio en blanco en una línea dada

Para que Endpuedas usar $. Para PageUpy PageDownpuedes usar Ctrl+Fy Ctrl+Brespectivamente.

Estas teclas solo funcionan en el modo de comando, pero puede reasignarlas para usarlas en el modo de inserción con :imap('i' aquí es para el modo de inserción) y Ctrl+F. Por ejemplo, para mapear Ctrl+Apara actuar como 0use este comando:

:imap <C-a> <C-o>0

Es un comando vim muy estándar y debe funcionar a la perfección en la consola vim, gvim, mvim, etc.

Solo un consejo. Por defecto, bash se ejecuta en "modo emacs". Puede cambiarlo a "modo vi". Bash usa el paquete readline para editar su línea de comando, para obtener más detalles, lea la sección "READLINE" de la página de manual de bash.

En resumen, puede redefinir muchos de los enlaces de teclas en un archivo llamado .inputrc que debería vivir en su carpeta de inicio.

readline también es utilizado por una serie de otras utilidades y lugares, como el shell interactivo de python.