I do not want filename tab completion to prioritize the start of the file name. For example, given the filenames red_blue.txt and blue_red.txt, I do not want vim red tab to prioritize red_blue.txt
This can be accomplished by using:
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'
However, this behaviour will also apply to the tab completion of command names, which I do not want. For example, typing nit tab looking for the command "nitrogen" will also match commands like mkinitcpio, xinit, compinit, and various others.
For commands, I would like the completion to use:
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
How can I have zsh tab completion treat command names and filenames differently?