0 votos

Autocompletar al navegar por el servidor ssh en zsh

Me he dado cuenta de que mi zsh no autocompleta las carpetas de un servidor SSH cuando estoy en un terminal local y uso cd , rsync o cualquier otro comando. El bash en Ubuntu hace esto.

Por ejemplo:

rsync -avh --progress user@host:/folder1/subfolder/another_subf . -n

el comando funciona, así que puedo conectarme, sólo que es muy incómodo cuando tienes que escribir y saber cada nombre de carpeta de memoria.

1voto

thrig Puntos 101

ZSH puede ficha completa para rsync a través de SSH; la función probablemente no está habilitada en su ZSH. Esto es lo que veo para un localhost: TAB

% rsync -avz . localhost:
Applications/  Desktop/       Documents/     Downloads/     Library/
...

En primer lugar, lo ideal es que se configure un inicio de sesión automático, a menos que te guste escribir tu contraseña después de cada TAB. En el caso de SSH, esto puede hacerse con autenticación de clave pública, entre otros métodos. Hay otras preguntas sobre cómo configurar esto.

Entonces, en ZSH habrá que habilitar el sistema de finalización. Una prueba mínima de esto es:

% zsh -f
lion% rsync -avz . localhost:
# (remote tab completion is not available, I hit control+c)
lion% autoload -U compinit
lion% compinit
lion% rsync -avz . localhost:
Applications/  Desktop/       Documents/     Downloads/     Library/
...
lion% exit

Por lo tanto, tendrá que habilitar el sistema de finalización colocando los comandos

autoload -U compinit
compinit

en un "comando de ejecución" de ZSH, normalmente ~/.zshrc y luego cargar un nuevo shell con exec zsh -l o alguna acción similar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X