Jj Del Carpio

Jj's web stream

$PS1

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.

Zshell autocompletar

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 ;) .

PS1

#~/.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

Jj Avatar of Jj

Reply or react to this post via Webmentions