En este apunte rápido voy a revisar algunas opciones que tenemos para utilizar Git en Neovim sin necesidad de complementos extra. Y para eso vamos a necesitar acceder a la terminal.
Es importante mencionar que nos soy un experto en el asunto. Si lo que te interesan son las funcionalidades más complejas de Git, es posible que necesites la ayuda de un plugin extra.
Por otra parte, para seguir en esta serie de avisos, nada de esto va en contra de la utilización de complementos. Así que sin más…
Opción 1: Entrar a modo terminal y ejecutar Git desde ahí
Neovim cuenta con un “Modo Terminal” o Terminal Mode.
Este emulador de terminal me va a permitir utilizar los comandos directamente desde Neovim. Se puede entrar en este modo escribiendo en modo comando:
:terminal
En este modo tengo que presionar “i” para poder agregar texto.
Para salir de modo terminal y volver al modo normal utilizo la combinación de teclado:
Ctrl + \ Ctrl + n
La barra invertida \ la encuentro en el teclado, en la parte izquierda al lado de la tecla “1”.
Digamos que entré en modo terminal desde un documento en el que estaba trabajando. Para volver al buffer de ese documento presiono:
Ctrl + o
Desde el modo terminal puedo utilizar cualquier comando, entre ellos los comandos de Git.
Opción 2: suspender Neovim y volver a la terminal
Digamos que abrí Neovim desde la terminal de Linux. Si ahora presiono:
Ctrl + z
Neovim va a suspenderse para devolverme a la terminal. Pero Neovim sigue funcionando en segundo plano, por lo que puedo volver a retomarlo luego de ejecutar algunos comandos.
Este es el punto en el que puedo utilizar Git.
Luego para volver a Neovim, escribo en la terminal:
fg
Este comando “fg” quiere decir “foreground” lo que significa “volver al frente” en este contexto.
Esta forma de volver a la terminal puede causar problemas en algunas configuraciones de Neovim, pero yo no tengo inconvenientes al hacerlo.
Opción 3: ejecutar comandos de Linux directamente desde modo normal en Neovim
En Neovim puede ejecutar comandos de la shell directamente en modo “normal”linea de comando” si agrego el prefijo “:!”
Por ejemplo si escribo:
:git status
No va a ocurrir nada porque ese es un comando de la shell, pero si escribo:
:!git status
Obtengo el resultado del comando “git status”. Puedo volver al modo normal presionando Enter.
De esta forma tengo otra opción para utilizar Git directamente desde Neovim, y es una forma que se puede integrar sin muchas pausas extra.
Opción 4: crear nuevos atajos
Una de las grande ventajas de Neovim es la posibilidad de modificarlo a mi gusto.
Puedo vincular alguna de las opciones anteriores a un nuevo atajo de teclado, para no tener que escribir el comando completo cada vez.
Por ejemplo, en mi archivo de configuración “.lua” agrego la siguiente linea de código:
vim.keymap.set('n', '<F3>', ':!git status<CR>', { noremap = true, silent = true })
Esto quiere decir que si en “modo normal” presiono la tecla “F3”, se va a escribir el comando “:!git status” y se va a presionar “Enter” para ejecutarlo.
De esta forma puedo agregar cualquier otro comando de la shell que quiero utilizar de forma rápida, y puedo asociar esos comandos a las combinaciones de teclado que más me ayuden.
Conclusión
Bueno, con esto termino este apunte sobre cómo usar la Shell directamente desde Neovim. Por añadidura eso nos va a permitir utilizar Git en Neovim desde Linux.
¿Es todo esto una buena idea? Lo más seguro es que existen formas más prácticas que se habilitan por medio de complementos. Pero de todas formas es un buen ejercicio para aprender más de todo esto.
¿Encontraste algún error en el material? Por favor, avísame con un correo electrónico para que pueda corregirlo.
Lo mismo si te interesa comentar algo sobre el texto, mi correo electrónico se encuentra abierto para conocer tus opiniones.
La seguimos en el próximo apunte.