Temporada 01: iniciándose en Vim

04. Vim: navegación inteligente

Publicado por

Nada de ratones

El diseño original de vi no tiene en mente el uso del ratón como medio de entrada, por lo que ninguna de las tareas de edición lo requieren, esto incluye la manera en que nos movemos a través del buffer que estamos trabajando. Dicho esto, en lugar de girar la rueda central del ratón y dar un clic por aquí y otro por allá, o incluso sin utilizar las teclas del cursor ubicadas en el teclado, siempre que estemos dentro de Vim tendremos a nuestra disposición el uso de ciertas combinaciones de teclas para movernos a través de nuestros archivos más rápidamente.

Los comandos listados a continuación te ayudarán a ver diferentes zonas dentro del documento que estés trabajando:

  • ^e Desliza la ventana una línea hacia abajo.
  • ^y Desliza la ventana una línea hacia arriba.
  • ^f Desliza la ventana una página hacia abajo.
  • ^b Desliza la ventana una página hacia arriba.
  • ^d Desliza la ventana media página hacia abajo.
  • ^u Desliza la ventana media página hacia arriba.
Moviendo la ventana a través del buffer
Moviendo la ventana a través del buffer

Para mover el cursor sin deslizar la ventana tenemos comandos como los siguientes:

  • H Coloca el cursor en la parte superior de la ventana.
  • M Coloca el cursor en la parte media de la ventana.
  • L Coloca el cursor en la parte inferior de la ventana.
  • gg Coloca el cursor al inicio de la primera línea.
  • G Coloca el cursor al inicio de la última línea.
Moviendo el cursor
Moviendo el cursor

Marcas en el buffer

En Vim puedes marcar cierta posición en el buffer con el fin de volver a esa posición después sin importar en qué otra línea te encuentres. Esto es útil, principalmente si estás explorando código fuente y estás editando funciones relacionadas pero que no necesariamente están cerca.

La forma de dejar una marca es, en modo --NORMAL-- pulsar la tecla m seguido de alguna otra tecla alfabética (de la A a la Z), por ejemplo: ma. Esto crea la marca en el registro a del editor, si después quieres regresar al lugar donde dejaste la marca, hay que pulsar la tecla de “comilla simple” ' seguido de la tecla que identifica la marca, en nuestro ejemplo, es la tecla a; de modo que el comando para saltar a la marca se ve así: 'a.

Dejando marcas en el texto
Dejando marcas en el texto

Existen dos marcas especiales que el mismo Vim va actualizando: La última linea que fue editada en el buffer representada por '. y la marca “anterior” representada por dos comillas simples ''. Así que si por alguna razón brincas inconscientemente a una ubicación no deseada del buffer (cosa que me pasa mucho más a menudo de lo que quisiera), estas dos marcas te ayudarán a volver al lugar en el que te encontrabas justo antes de tu salto inesperado.

Utilizando las marcas '' y '.
Utilizando las marcas ” y ‘.

Encontrando texto: otra manera de moverse

Otra forma de movernos a través del buffer es buscar texto y Vim ofrece varias maneras de hacerlo, las primeras alternativas son utilizar los caracteres / y ? para a continuación escribir el patrón que quieres buscar. La diagonal busca el patrón hacia adelante en el buffer mientras que ? lo hace hacia atrás. Si el patrón que buscas está en el documento, el editor resaltará cada coincidencia que encuentre para que puedas verlo fácilmente. Si quieres saltar entre todas esas coincidencias puedes utilizar la teclas n y N para ir y regresar a través de ellas.

Buscando texto
Buscando texto

Si el texto que quieres buscar está debajo del cursor, puedes buscarlo sin tener que escribirlo nuevamente usando / o ?. Simplemente pulsa las teclas * o # en modo --NORMAL-- sobre el texto que quieres buscar (hacia adelante o atrás respectivamente) en otros lados del buffer y brincar a la siguiente ocurrencia de esa palabra.

Búsqueda utilizando los caracteres * y #
Búsqueda utilizando los caracteres * y #

Al igual que en el caso anterior, n/N nos ayudan a avanzar/retroceder a través de las ocurrencias que encontramos en el buffer.

Además si pones atención en la parte inferior de la ilustración anterior, notarás que en cuanto pulso la tecla * aparece el texto /\<profile\> como si manualmente hubiera utilizado el modo de búsqueda (/); la razón es porque en realidad eso es lo que pasa, cuando pulses la tecla * Vim copiará el texto de la palabra debajo del cursor, cambiará él mismo a modo de búsqueda y escribirá la palabra copiada para iniciar la búsqueda, y todo eso solo te costó oprimir un botón. Los caracteres \< y \> que encierran a la palabra “profile” en nuestro ejemplo, son caracteres especiales que significan “inicio de palabra” y “fin de palabra” respectivamente, y se utilizan para decirle al editor que queremos encontrar cadenas que empiecen con “p“, terminen en “e” y que en medio contengan los caracteres “rofil“; es decir la palabra “profile“. Y por supuesto, también puedes escribir estos caracteres directamente al buscar patrones usando / y ?.

Con estos sencillos comandos podrás moverte con mayor agilidad y sin perderte a través de tus documentos. Espero que esta información te sea de utilidad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *