Say I have a folder with files in it with names like this:
log_1.log
log_2.log
log_2.gz
And I want to perform some operation, let's say move, on log_2.gz.
In Windows cmd.exe, I am used to performing these steps:
- Type
move
(and nothing else) - tabtabtab to traverse the tab-complete options until I get to
log_2.gz
- Type
destination
But in bash shell (within iTerm2 on Mac OS X 10.8.3), I have to do something like this:
- Type
mv l
- tab which takes me to
log_
and makes an annoying beep sound - Type
2
- tab which takes me to
log_2.
and makes an annoying beep sound - Type
g
- tab which takes me to
log_2.gz
and is satisfyingly silent - Type
destination
As you can see, bash requires many more steps even when you know the destination filename, but imagine a scenario where you are not really certain what exactly is in the filename (maybe the ls
was too long). I often find myself in this scenario after a few tab + typing and am forced to abandon the command, run ls
again, copy the filename, maybe even run a pwd
to concatenate with the folder, and then resume where I left off. This is very annoying.
menucomplete
(I think) option – Manteau