cd foo/<tab> # oh, too many options <ret> ls -la cd bar/baz git status cat quux | grep xckd cat quux | grep -i xckd cat quux | grep -i xkcd cat quux | grep -i xkcd | xargs ...
The trial-and-error command refining is arguably what REPLs are for. It's the filesystem navigation that are the odd part.
(INB4: don't give me the "useless use of cat", it factors out better like this and everyone does it anyway.)
`<quux grep xkcd`