VIM only files, cd only directories

view story

http://unix.stackexchange.com – When using Tab for completion on the Bash shell prompt, is there any way to configure it to complete only files for the command vim and only directories for the command cd? In large directories with many files and subdirectories, the should reduce by half the amount of corrections to be done while completing. Note that moving to a different shell is impractical, but I would still be interested in hearing non-Bash solutions if no Bash solution exists. Thanks. (HowTos)