Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

ssh user name completion



Hello everyone,

I have several computers running various flavours of Debian GNU/Linux
On my server, (Debian stable)  I have installed the package zsh-beta:
zsh-beta  4.3.0-dev-2+20 A shell with lots of features (dev tree)

On my desktop, (Debian unstable) I also have zsh-beta:
zsh-beta  4.3.2-dev-1+20060928-1 A shell with lots of features (dev
tree)

in my ~/.zshrc on both machines:

#ssh completion
local _myhosts;
_myhosts=( ${${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ }:#\!*}
${=${(f)"$(cat /etc/hosts(|)(N) <<EOF
(ypcat hosts 2>/dev/null))"}%%\#*} );
zstyle ':completion:*' hosts $_myhosts;

I got this code from a zshrc I found on the net, but i don't pretend to
understand how exactly it works, or even if it is the correct way to do
ssh conmpletion..

The problem is on the Debian Stable server, if I type:
ssh u<TAB>
the shell expands to:
ssh username@
then I type the first letter of the host and it expands that as well.
This is excellent behaviour and makes things very fast.

However on my Debian unstable computer, typing:
ssh u<TAB>
will just make the shell beep, as it seems not to know how to complete
the command. I have to manually type in the username@ string and then it
will complete the hostname for me.

Obviously I would like the version of zsh on Debian unstable to behave
(at least with respects to ssh completion) just like the version of zsh
on Debian stable. 

Does anyone know how to do this?
Thanks very much.

-- 
-----Angelina Carlton-----
orchid on irc.freenode.net
     brat@xxxxxxxx
web:bzgirl.bakadigital.com
--------------------------



Messages sorted by: Reverse Date, Date, Thread, Author