I have the following matcher-list configuration: zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' '+r:|?=**' It's case-insensitive, but most importantly for what I want to discuss, it does a (default) match from the left first, then a fuzzy match. I'm getting the following behavior when trying to complete `ef`: % touch abef abcdef % vi ef press % vi abef ^ cursor here press % vi abef ^ cursor here Behavior is the same as described above even if I `setopt COMPLETE_IN_WORD`. I would expect the following behavior, at least when `COMPLETE_IN_WORD` is enabled: % touch abef abcdef % vi ef press % vi abef ^ cursor here press % vi abef ^ cursor here, and menu is displayed below -- file -- abcdef abef What am I missing in my configuration? As expected, I get the following behavior when completing `ab`: % touch abef abcdef % vi ab press % vi ab ^ cursor here, and menu is displayed below -- file -- abcdef abef Cheers, Eric Nielsen