En este artículo veremos cómo utilizar el script git jump que nos permite abrir en Vim una serie de archivos de nuestro proyecto para acceder rápidamente a ellos

Este pequeño tutorial puede enmarcarse dentro de la categoría de tutoriales de git o de vim dentro del blog, así pues, espero que sea de ayuda a quienes busquen relativo a estas dos grandérrimas herramientas.
Según la documentación del propio proyecto, git jump es:
Un script para ayudarte a saltar a partes «interesantes» de tu proyecto en su editor. Funciona emitiendo un conjunto de interesantes puntos en el formato de «corrección rápida» (quickfix), que los editores como Vim pueden usar como cola de lugares para visitar (esta característica generalmente se usa para saltar a errores producido por un compilador).
Resumiendo y traduciendo, al utilizar git jump, nos abrirá el editor Vim (y creo que también hay soporte para ese otro editor… Emacs) usando quickfix y nos mostrará las partes que busquemos. O también podremos mostrar la salida por pantalla sin necesidad de abrir el editor Vim.
Lo primero es descargar el archivo wget https://raw.githubusercontent.com/git/git/master/contrib/git-jump/git-jump
Y ubicarlo en un directorio de nuestro $PATH (en mi caso): mv git-jump /usr/local/bin
Y darle permisos de ejecución chmod +x git-jump
Echo esto, ya lo tendremos disponible para utilizar. Ahora entremos en un proyecto git de nuestro equipo. Una carpeta donde tengamos archivos bajo control de versiones git (por ejemplo: ~/git/prueba/ donde hay varios archivos) y podremos ejecutar:
git jump grep variable
Se abrirá el editor Vim con todos los archivos del directorio en el que estamos que contengan la palabra (en nuestro ejemplo) «variable». Si queremos que no tenga en cuenta mayúsculas y minúsculas, deberemos añadir la opción -i
Para recorrer las distintas coincidencias que hemos encontrado, tanto si están en un único archivo, como si están en diferentes archivos (que se irán abriendo) lo haremos con el comando :cn
y con :cN
iremos a la ocurrencia anterior.
También podemos saltar rápidamente a cualquier archivo que contenga cambios y que no se hayan incluido en un commit. Para ello ejecutaremos:
git jump diff
O saltar a partes que contengan cambios ya incluidos en el commit, pero no subidos
git jump diff --cached
Y a la hora de solucionar conflictos al fundir ramas o archivos, podemos saltar a las partes señaladas con las marcas de conflicto mediante:
git jump merge
Si queremos que excluya cierto directorios (por ejemplo el directorio de Documentación) y no nos abra los conflictos en ese directorio, ejecutaremos:
git jump merge :^Documentación
Si en vez de mostrar esas salidas abriendo el editor Vim, queremos que lo haga mostrándolas por pantalla añadiremos la opción --stdout
Por ejemplo:
git jump --stdout grep variable
Creo que git jump puede ser una herramienta interesante a la hora de ahorrarnos tiempo, cuando estamos trabajando con git y sacándole mucho partido a Vim.
¿Conocías la herramienta? ¿Ya la utilizabas? ¿Qué otros usos le dabas o se te ocurre que pueden ser interesantes? Aporta tus ideas en los comentarios del blog.
