He estado usando zsh por un tiempo, y tiene muchas caracterÃsticas buenas, pero habÃan algunas que no me terminaron de gustar o será que no me acostmbré.
No me sentà cómodo en la manera como funciona el autocompletar, al apretar TAB, automáticamente se completa la primera opción disponible, y aparece como un pequeño menú abajo para elegir con las flechas la opción que quieras.
Estoy seguro que se puede cambiar, pero la documentación es muy extensa y no me dà tiempo de leerla y buscar como hacerlo. Sin embargo la principal razón que me ha hecho regresar a usar Bash es el BashScripting, estoy muy acostumbrado a ejecutar comandos de bash en la lÃnea de comando, y desde zsh simplemente no funcionaban. Pensé que no mse serÃa muy útil aprender ZshellScript ya que es seguro que hay Bash en todas las maquinas que encuentre, asi que seguiré jugando con Bash.
Lo que si me gusto de usar zsh, fue que en el archivo de demo que encontré usaba un prompt que me gustó mucho, con la carpeta activa en el lado derecho y el usuario y hostname a la izquierda. Otra cosa que no se como hacer en Bash es hacer que el cuando tenga una lÃnea muy larga que continue en la siguiente lÃnea, mientras que con Bash continua en la misma liÃnea borrando el inicio, y luego todo se descuadra
Intenté emular ese prompt en Bash, y llegué a algo muy parecido, sólo que el nombre de usuario y hostname no los puse por que se que este $PS1 es de mi usuario y como no tengo demasiadas maquinas, no creo que me pierda ;) .
#~/.bashrc
eval `dircolors -b /etc/DIR_COLORS`
alias mv="mv -i"
alias ls="ls --color=auto -p"
export MANPAGER=most
export PAGER=less
export EDITOR=vim
function prompt_command {
if [ $PWD = $HOME ]; then
P="~"
W=$(( $(tput cols) - 4))
else
P=$( pwd | awk -F"/" '{ print $NF}')
W=$(( $(tput cols) - $(echo $P | wc | tr -s ' ' | cut -d' ' -f4) - 2))
fi
tput sc
tput cuf $W
echo -ne $(tput bold)$(tput setaf 7)"["$(tput sgr0)$(tput setaf 2)"$P"$(tput bold)$(tput setaf 7)"]" $(tput sgr0)
tput cuu1
tput rc
}
PROMPT_COMMAND=prompt_command
PS1=$(tput bold)$( tput setaf 3)"> "$(tput sgr0)
Eso es lo que tengo por ahora, si alguien tiene alguna mejora, o me puede contar otra forma de hacerlo serÃa chevere :P, porque está un poco lento