Cambios en mi prompt
Utilizar un prompt más informativo
Llevo ya un tiempo utilizando git para casi todo y a veces me lío yo sólo con las ramas y para saber dónde estoy en cada momento. Normalmente trabajo con emacs, lo que me facilita mucho el trabajo: cuando editas un fichero que está incluido en un repositorio muestra en qué rama y tengo magit para desplegar el contenido de todo el git. Sin embargo, muchas veces me encuentro en un terminal y ahí ando algo perdido... vale, puedo comprobar en qué rama estoy con el comando correspondiente, bien :
> git checkout
o bien:
> git branch
Yo estaba buscando algo más visible, lo encontré ayer y decidí
probarlo. Es un script sencillo para generar el
prompt. Normalmente lo pones en el fichero ~/.bashrc
y es el
siguiente:
# utilizar un prompt informativo PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]" PS1="$PS1 \`if [ \$? = 0 ]; then echo -e '\[\033[01;32m\]:)';" PS1="$PS1 else echo -e '\[\033[01;31m\]:(' \$?; fi\`\[\033[00m\]" PS1="$PS1 \$(__git_ps1 \"(%s)\")> "
Llevo probándolo desde que lo encontré y me parece que se va a quedar tiempo (por lo menos hasta que me apañe mejor con git). Le he hecho unas mínimas modificaciones, como «desnarigar» el emoticono que muestra y cambiar el último carácter con «>» en lugar del «$».
Ventajas que le veo
Soy de natural torpe y muchas veces me aprendo fórmulas que aplico con prisas y no leo lo que debería leer, como las salidas de los comandos. Ahora voy con mucho cuidado con git y leo muy detenidamente toda salida que produce, pero ya me noto la tendencia a ignorar la salida de algunos comandos que utilizo con asiduidad.
La ventaja principal es que el prompt, cuando entro en un directorio que está gestionado por un repositorio git, muestra entre paréntesis el nombre de la rama activa. Para mí esa es una gran ayuda, especialmente en la gestión de este blog donde gestiono normalmente tres ramas y muchas veces me puedo perder un poco de en cuál estoy.
La otra ventaja es que muestra un emoticono según el último comando haya tenido éxito o no. Si el último comando devuelve «0» mostrará un emoticono verde «:)» y si ha fallado un emoticono rojo «:(». Visualmente me da la pista de si el último comando ha funcionado o no y me obliga a leer la salida.
El inconveniente es que muestra sólo el último directorio local de
todo el path. La mayoría de las veces es suficiente y si alguna vez
necesito más información siempre tendré a mano el pwd
. Esto, no es
ventaja ni inconveniente, pues algunas veces te mueves por según que
directorios que en consolas pequeñas tiene que saltar de línea. Y al
contrario, habrá veces que muestre un directorio src
pero vete tú a
saber de cuál de todos los proyectos que puedo tener abiertos.
Conclusión
De momento me ha costado poco acostumbrarme a los cambios en el prompt. Me parece un script útil, sobre todo cuando utilizas git y tienes varias ramas de trabajo.
Comentarios