In bash, it's easy enough to set up customized completion of command arguments using the `complete` built-in. For example, if, for a hypothetical command with a synopsis of `foo --a | --b | --c`, you could do `complete -W '--a --b --c' foo` You can also customize the completion you get when you press <kbd>Tab</kbd> at an *empty* prompt using `complete -E`, e.g., `complete -E -W 'foo bar'`. Then pressing tab at the empty prompt would suggest only `foo` and `bar`. **How do I customize command completion at a *non*-empty prompt?** E.g., if I'm sitting at: anthony@Zia:~$ f how do customize completion so pressing tab would always complete to `foo`? (The actual case I'd like is `loc`<kbd>TAB</kbd> → `localc`. And my brother, who prompted me to ask this, wants it with mplayer).