Para instalarla es necesario usar nuestro árbol de portage, para ello:
# emerge -av zsh zsh-completion
El primero es el paquete de la zsh y el segundo es el paquete necesario para el autocompletado dentro de nuestra caja gentoo/funtoo
luego de realizar la instalación es necesario editar el archivo .zshrc que se encuentra dentro del home del usuario por lo tanto (nota: cuando se inicia por primera vez ejecuta un ayudante para configurar las opciones que deseamos, pero yo prefiero editar mi archivo)
$ vim ~/.zshrc
y colocamos lo siguiente:
# Número de líneas en el historial
export HISTSIZE=100000
# Número de líneas salvada en el historial luego de cerrar sesión
export SAVEHIST=100000
# ubicación del historial
export HISTFILE=~/.zhistory
# comando cuando se ejecuta history
setopt inc_append_history
# módulo para completado de comandos de gentoo
unsetopt equals
# alias para listar en color
alias ls='ls --color'
# Módulo de autocompletado
autoload -U compinit
compinit
setopt completealiases
# Módulo de colores dentro del prompt
autoload colors; colors
zstyle ':completion:*' menu select
#color en el promt en este caso los de gentoo
export PS1="%{$fg_bold[green]%}%n@%{$fg_bold[green]%}%m%{$fg_bold[blue]%} %~ $ $reset_color"
#titulo en la bara de la terminal
chpwd() {
[[ -o interactive ]] || return
case $TERM in
sun-cmd) print -Pn "\e]l%~\e\\"
;;
*xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%n@%m:~\a"
;;
esac
}
#bindkeys como inicio y fin
typeset -A key
key[Home]=${terminfo[khome]}
key[End]=${terminfo[kend]}
key[Insert]=${terminfo[kich1]}
key[Delete]=${terminfo[kdch1]}
key[Up]=${terminfo[kcuu1]}
key[Down]=${terminfo[kcud1]}
key[Left]=${terminfo[kcub1]}
key[Right]=${terminfo[kcuf1]}
key[PageUp]=${terminfo[kpp]}
key[PageDown]=${terminfo[knp]}
# configurar las teclas correctamente
[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line
[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line
[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode
[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char
[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history
[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history
[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char
[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char
if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
function zle-line-init () {
printf '%s' "${terminfo[smkx]}"
}
function zle-line-finish () {
printf '%s' "${terminfo[rmkx]}"
}
zle -N zle-line-init
zle -N zle-line-finish
fi
Hay otros detalles, que colocaré cuando los logre configurar correctamente, preo con esto basta para tener una zsh funcionando correctamente, y seguir con la configuración acostumbrada dentro de nuestra bash
Luego de realizado esto, se debe editar el archivo /etc/passwd usando el comando vipw (no lo olviden). Y se cambia /bin/bash por /bin/zsh en el usuario que deseamos que use zsh luego reiniciamos la sesión y listo.