Yes, I've tried *not* setting the complete_in_word option, but then the _prefix completer doesn't work. See this (rather bizarre in my opinion) explanation from http://zsh.sourceforge.net/Guide/zshguide06.html: "One gotcha with the _prefix completer: you have to make sure the option COMPLETE_IN_WORD is set. That may sound counter-intuitive: after all, _prefix forces completion *not* to complete inside a word. The point is that without that option, completion is only ever tried at the end of the word, so when you type in the middle of , the cursor is moved to after the end of the suffix before the completion system has a chance to see what's there, and hence the whole thing is regarded as a prefix, with no suffix." However, after reading that section on _prefix more carefully, I tried putting the _prefix completer further up in my completer list right after _expand (in ~/.zshrc) like so: zstyle ':completion:*' completer _expand _prefix _complete _ignored _prefix ...and now it works (mostly) the way I prefer! Namely, it acts like expand-or-complete-prefix and ignores the suffix, even if the suffix matches something. There is still some weirdness with slashes at the end of directories, so that I get double slashes sometimes when the suffix starts with a slash, but I suppose that's something I can live with. (I'm not actually entirely clear how the completer ordering works, so not sure if I need that second _prefix instance at the end, but whatever works I guess. If someone would care to shed some light on the matter, that would be good too.) On Wed, Jun 10, 2020 at 10:33 PM Bart Schaefer wrote: > On Tue, Jun 9, 2020 at 7:26 PM Alan <8fvebtoeq87@gmail.com> wrote: > > > > I found a partial solution by adding the _prefix completer (along with > the complete_in_word option). > > Have you tried NOT setting the complete_in_word option? >