Question: Command completion in `bash(1)` is quite handy; I like this feature very much. But I have a question.

For example, we all have `Documents` and `Downloads` in `$HOME` directory.

So if I input `cd ~` and then press `TAB`, then it will traverse all the directory under `$HOME`. When `Documents` come up and the shell now displays `cd ~/Documents`, I want to go deeper into this directory. For example, there is a `work` directory in `Documents`. My intention is to `cd` to the `work` directory.

So what should I do?

I usually input a `w` then press `TAB`, but when this action repeats too much I found it quite annoying. And sometimes I don't know exactly what files are under this directory.

Do you have any good ideas?
ps: In fact, i met this problem when i was using vim. I input `:e` then `TAB`, it will cycle the subfolders, the only way i found to stop the cycling and enter the next level is input a `/`. So the path has double '/' in the end.

Answer: 
Like the Jack Toole's zsh suggestion (which is a perfectly fine shell), if you have to use bash, you can stick this in your .bashrc for the same "continue to hit `tab` cycle through possibilities" feature:

```
test -n "$PS1" && bind TAB:menu-complete

```

There's also a project called [bash-completion](https://alioth.debian.org/projects/bash-completion/) that provides a lot of other kinds of completion other than pathname completion.
If you don't know what is in the directory, just press `TAB` one more time.