Ну так то конечно. У тебя же юзера не совпадают со строкой. У меня вот так:
[mak@devel]:a0_mxe4 $>> cd go<TAB>
local directory
goahead-2.1.1/
user
gopher
> There is a user 'proxy' on my system, when I now try to 'cd' into a
> directory, let's call it 'profiles' the file/dir completion will offer
> me 'proxy' as an alternative. Roughly like so:
>
> % cd pro^D
> local directory
> profiles/
> user
> proxy
>
> This is highly annoying behaviour, which I'd like to stop. I'm using the
> default zshrc that get's shipped with zsh 4.3.2.
This is because of the option "cdablevars". This makes it possible for
"cd user" to behave the same as "cd ~user"; it works for user
directories and named directories (i.e. where ~var behaves like $var)
alike, since those deliberately have the same behaviour. If you're not
using that, you can "unsetopt cdablevars".
If you want to keep the option but disable completion of relevant
directories, you will need to tweak the code: find the _cd completer in
your $fpath,
print $^fpath/_cd(N)
and edit it or copy and edited version earlier in the $fpath. The bit
you want to get rid of is around line 47, the line beginning alt=:
if [[ -o cdablevars && -n "$PREFIX" && "$PREFIX" != <-> ]]; then
if [[ "$PREFIX" != */* ]]; then
alt=( "$alt[@]" 'named-directories: : _tilde' )
else
Simply commenting out that single line should probably be enough.