Herramientas y trucos para la terminal

Trucos y Utilidades 6 de jun. de 2023

Visualizar ramas GIT en el prompt de Linux

Si nos gusta trabajar desde la línea de comandos ,nos puede interesar saber si estamos en un directorio que tenga un repositorio GIT inicializado y además saber la rama en la que estamos, para cambiar el 'prompt' de nuestro terminal simplemente debemos incluir las siguientes líneas a nuestro fichero .bashrc que está en /home/<nuestro-usuario> o directamente editandolo como ~/.bashrc

# Prompt NORMAL
export PS1="\u@Debian·SysAdmin:\w\$ "
# Prompt GIT
parsear_git_branch() {
  git branch 2>/dev/null |sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\u@Debian·SysAdmin: \[\e[32m\]\w \e[3m\]\[\e[94;4m\]\$(parsear_git_branch)\[\e[00m\]$ "¡

Una vez incluidas estas línea abrimos un nuevo terminal y podemos ver como funciona y muestra la rama actual, siempre y cuando sea un directorio con un repositorio git inicializado:

Mostrar la rama actual de GIT en la línea de estado de Vim

Si estamos trabajando con Vim, es interesante que sepamos al estar editando un fichero, si estamos trabajando con la rama correcta de GIT.

Para incluir una nueva línea de estado en Vim (sin usar ningún Plugin) para que nos muestre el nombre del fichero que estamos editando, el tipo de fichero y la rama actual debemos incluir las siguientes líneas a nuestro fichero .vimrc

" ----------------- INICIO MOSTAR LINEA ESTADO PERSONALIZADA ------
set nocompatible
set encoding=utf-8
hi StatusLine ctermbg=blue ctermfg=white
set laststatus=2
set statusline=%t
set statusline+=\ %y
let rama = system("git branch --color=never --no-column --show-current 2>/dev/null | tr -d '\n'")
execute "set statusline+=\\ Rama:" . rama
set statusline+=\ Linea:%l:%L
set statusline+=\ Columna:%c
set statusline+=%*
" ----------------- FIN MOSTAR LINEA ESTADO PERSONALIZADA ------

Una vez guardados los cambio al abrir un fichero que no esté en un repositorio GIT mostrará una línea de estado como la de la imagen:

VIM editando fichero en ruta sin repositorio GIT

Sin embargo al editar un fichero en un repositorio git, la línea de estado será diferente, tal y como se muestra en la imagen:

Vim editando fichero en ruta GIT (sobre la rama 'testing')

Grabar salida de terminal y generar un GIF animado

Para grabar lo que escribamos o ejecutemos en la terminal, necesitamos instalar el programa ttyrec:

sudo apt-get install -y ttyrec
Ejemplo de captura de comandos en la terminal con 'ttyrec'

Una vez instalado el modo de usarlo es:

ttyrec -e comando fichero-grabacion

Para detener la grabación pulsar CTRL+D
Una vez finalizada la grabación, podemos ver lo que hemos grabado con el comando:

ttyplay fichero-grabación

Ahora solo nos falta generar el gif animado con lo capturado, para ello ejecutamos:

ttygif fichero-grabacion

Se generará un fichero gif animado de nombre tty.gif

Si al lanzar ttgif obtenemos el error:

WINDOWID environment variable was empty.

Debemos escribir el siguiente comando antes de usarlo:

export WINDOWID=$(xdotool getwindowfocus)

Cambiar/Fijar el editor por defecto de la consola

Simplemente tienes que editar tu fichero .bashrc en el directorio raíz de tu usuario e incluir la siguiente línea:

export EDITOR=vi
	(si deseas usar por defecto vi/vim)
    
export EDITOR=nano
	(si deseas usar por defecto nano)
Fijar editor por defecto para la consola

Además una vez lo hayas cambiado puedes simplemente desde la terminal pulsar la combinación de teclas CTRL+X y luego sin soltar la tecla de CTRL, pulsar E.
Se abrirá automáticamente el editor que hayas indicado !!

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux