Cómo personalizar los comandos de movimiento en Vim para mayor eficiencia

Si tuviera que señalar una cosa sobre Vim que resulta más irritante, serían las teclas de movimiento por defecto. Si bien aprecio el modo de comandos en lugar del modo de inserción, vengo de usar durante mucho tiempo joe, y mis dedos han memorizado esas pulsaciones de teclas. Aún ahora, después de muchos años usando Vim, me parece un desperdicio ridículo de tiempo tener que presionar [ESC], luego $ y después [i] para llegar al final de una línea. El movimiento por línea y por número de palabras (es decir, usar 4w para avanzar cuatro palabras) es útil y no tengo problema en entrar al modo de comandos cuando lo necesito, lo cual es bastante seguido.

Vim facilita la tarea de cambiar y agregar atajos de teclado, por lo que tiene sentido agregar algunos comandos que tus dedos ya conocen. Por ejemplo, joe utiliza los antiguos atajos de teclado de WordStar: CTRL-E para ir al final de la línea, CTRL-A para ir al principio de la línea. Agregar lo siguiente a tu ~/.vimrc permitirá usar esos comandos en Vim:

" mapear CTRL-E para llegar al final de la línea (modo de inserción)
imap <C-e> <esc>$i<right>
" mapear CTRL-A para llegar al principio de la línea (modo de inserción)
imap <C-a> <esc>0i

Los dos comandos anteriores mapean los atajos de teclado seleccionados (CTRL-E y CTRL-A) en el modo de inserción utilizando la palabra clave imap. El último parámetro son los comandos de teclado que el atajo ejecutará. Para CTRL-E, ejecutará [ESC], luego $, después [i] y finalmente una pulsación de tecla derecha para colocar el cursor al final de la línea. Cada pulsación de tecla es independiente y discreta. De manera similar, para CTRL-A, los comandos de teclado utilizados son [ESC], luego [0], luego [i], lo que se traduciría en entrar al modo de comandos ([ESC]), ir al principio de la línea (0) y luego reingresar al modo de inserción ([i]). Debido a la suposición de que estamos saliendo del modo de inserción y luego volviendo a ingresar, se utiliza la palabra clave imap, ya que activa el atajo solo cuando se encuentra en modo de inserción.

Otros tipos de mapeo incluyen: map para todos los modos, cmap para el modo de línea de comandos, nmap para el modo normal y vmap para el modo visual. Utilizando estos cinco tipos de modos, puedes definir atajos de teclado que hagan cosas diferentes dependiendo del modo activo.

Otros atajos de teclado útiles incluyen:

" CTRL-C para copiar (modo visual)
vmap <C-c> y
" CTRL-X para cortar (modo visual)
vmap <C-x> x
" CTRL-V para pegar (modo de inserción)
imap <C-v> <esc>P

En Vim, utiliza el comando :help key-mapping para obtener más ayuda. Define una tecla [CTRL] como C y [ALT] como M (por lo que ALT-M se escribiría <M-m>), y [SHIFT] como S.

Cómo utilizar Isearch para buscar archivos de texto en Linux

Crear un conjunto de atajos de teclado familiares facilita la transición a cualquier nuevo editor, y la flexibilidad que Vim permite en esta configuración no solo te permite aprovechar el poder de Vim, sino también hacer que se sienta como un viejo amigo familiar.

Obtén la versión en PDF de este consejo aquí.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Código abierto, allí encontraras muchos artículos similares a Cómo personalizar los comandos de movimiento en Vim para mayor eficiencia , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.