El comando “:sh” de gvim saca cosas raras
El comando ":sh" de gvim hace que se abra una pequeña salida al shell en la ventana del editor. Pero puede que os salgan códigos muy raros tal que así:
Mail^[[0m/ -rw-r----- 1 root root 10k dic 15 2002 ^[[0mmime install.results^[[0m -rw-r----- 1 root root 646 dic 13 2002 ^[[0mplug in131_02.trace^[[0m -rw-r----- 1 root root 52 dic 15 2002 ^[[0mplug ininstall.results^[[0m drwx------ 4 root root 104 ago 4 02:18 ^[[01;34m projects^[[0m/ -rw-r--r-- 1 lacofi personal 651k may 31 2002 ^[[0mSpLo cale_x86.pkg^[[0m -rw-r--r-- 1 lacofi personal 599k may 31 2002 ^[[0mSpLo cale_x86.pkg.zip^[[0m ^[[m^[[1;31m[^[[0;31m21:34:55/0^[[1;31m][root@claudia:~]$^[[
Evidentemente, bash está intentando sacar códigos de colores, pero la falsa terminal que usa gvim no los soporta.
Bien, pues la solución es muy sencilla. Resulta que la terminal que usa gvim se llama "dumb", así que se trata de modificar nuestro .bashrc de acuerdo con esto.
En mi caso, tengo un fichero con varias funciones que se cargan al inicio del shell, entre ellas varios inductores distintos. Vete al truco organizar un poco el fichero .bashrc si quieres más detalles. Bueno, pues una de esas funciones carga un inductor muy simple, sin código alguno, tal que así:
function inductor_plano {
PS1="[\u@\h \W]\$ "
PS2='> '
PS4='+ '
}
Así que en nuestro fichero .bashrc solo tenemos que poner:
if [ "$TERM" = "dumb" ]; then inductor_plano else inductor_normal fi
Y ya de paso, también podemos cambiar el fichero donde guardamos los alias, de tal forma que ponga:
if [ "$TERM" = "dumb" ]; then alias ls='ls -Fhl --color=none' else alias ls='ls -Fhl --color' fi
Este truco solo funcionará cuando nos desloguemos y nos volvamos a logar.
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.