Can you give an example of folders doesn't appears on top of the list when completing? It seems you have something in your configuration breaking things for you. Zsh by default will only complete cd
with directories:
zsh -f # new Zsh with only default configs
% zstyle ':completion:*' completer _complete _match _approximate
% zstyle ':completion:*:approximate:*' max-errors 3 numeric
% mkdir test && cd test
% mkdir etc && touch et0
% autoload -U compinit && compinit
% cd et0[TAB] # removes the 'et0' and replaces it with 'etc'.
FWIW, for "searching and completing everywhere" consider trying predict
https://stackoverflow.com/a/17230878/766289 (I find it a little insane...)
Also, in Zsh you can do things like:
setopt auto_cd
alias -d build=/home/foo/very/long/path/build # dir alias
build # <-- changes into /home/foo/very/long/path/build
Or just
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' # match upper from lower case
cd d/m[TAB] # just type the initial letter of each dir
cd Downloads/MyNewFolder
I mean cd d/m
requires less typing than cd dwnls/mnf
;-)