Mi sto intortando qui:
http://zsh.sourceforge.net/Doc/Release/Completion-... 
Sono arrivato a questo:
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
Ma mi lascia fuori una casistica, ovvero quando la substring è parziale non fa il match case insensitive.
Ad esempio, ho nella mia homedir il file
6_Channel_ID.wav, se faccio
ls Cha[tab] viene sostituito correttamente col nome del file, se faccio
ls cha[tab] invece no.
Che cosa mi manca?
Ho provato a mettere
r:{a-z}={A-Z} o
e:{a-z}={A-Z} nella lista ma non funziona.