I had an idea today when navigating around in the shell. All my work related files are stored in ~/Work. Under that there's a folder for each project. Sometimes there are multiple variations on a project or project with a similar prefix such as: When I type rad [Tab] in my shell (zsh) it kindly completes this to radi and gives a list of the other completions since there are several to choose from. I though it would be nice if the shell could learn from the choices I make. So if I generally choose radiopaedia then rad [Tab] would complete to radiopaedia but still show the list of option. I'm sure there are several other areas where an adaptive shell that learnt from usage patterns could be applied.