Curso de Vim: mostrar el commit que ha añadido la línea de un texto en #Vim

Vamos a crear un atajo de teclado en Vim para que nos muestre una ventana flotante con información del commit que se creó para añadir la línea actual en un archivo

Cuando estamos editando un archivo con Vim que está bajo control de versiones con Git, nos puede surgir la duda de ¿Por qué se añadió tal frase, esta variable o se le asigno tal valor?

En ocasiones quizás el texto del commit que se realizó en el que se añadió esa modificación nos puede dar una pista de esas preguntas que nos surgen. Y también nos dan información de quién y cuando se hizo el commit que añadió esa línea.

Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:

Y para aprender Vim (de la manera más inteligente) aquí tienes esta útil guía:

Vamos a ver cómo hacer que esa información aparezca en una ventana flotante en nuestro editor Vim, sin necesidad de instalar ningún complemento extra, simplemente con una asignación de un atajo de teclado con la tecla leader.

Para ello, editamos nuestro archivo de configuración .vimrc y añadimos la siguiente línea, que utiliza el atajo de teclado <leader>+g. Si ya tienes asignada esa configuración cambiala a otra tecla que prefieras:

map <silent><Leader>g :call setbufvar(winbufnr(popup_atcursor(systemlist("cd " . shellescape(fnamemodify(resolve(expand('%:p')), ":h")) . " && git log --no-merges -n 1 -L " . shellescape(line("v") . "," . line(".") . ":" . resolve(expand("%:p")))), { "padding": [1,1,1,1], "pos": "botleft", "wrap": 0 })), "&filetype", "git")<CR>

Guardamos el archivo. Y ahora en Vim abrimos un archivo que tengamos bajo control de versiones de git y en cualquier línea pulsamos <leader>g

Se abrirá una ventana flotante que mostrará el hash del commit, el autor y la fecha en que se realizó. El texto del commit. El nombre del archivo y las diferencias que se realizaron de la línea actual.

Para cerrar la ventana simplemente nos movemos de línea y pasamos a otra y podemos volver a pulsar el atajo de teclado y consultar la información que nos aparece.

Me ha parecido una forma interesante de mostrar esa información, sin necesidad de instalar más complementos en nuestro editor Vim.

Este truco, con mucha más información de otras opciones y alternativas la he sacado de este post de Reddit.

¿Te has animado a probarlo y te ha parecido interesante? Comparte tu opinión en los comentarios del blog.

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.