Using gdu:
aaa:vim70> gdu 
5028    ./doc
4420    ./syntax
.
.
.
176     ./compiler
16      ./macros/hanoi
16      ./macros/life
48      ./macros/maze
20      ./macros/urm
200     ./macros
252     ./keymap
18000   .
You can use --max-depth to limit the depth of the search:
aaa:vim70> gdu --max-depth=1
5028    ./doc
136     ./print
76      ./colors
4420    ./syntax
420     ./indent
628     ./ftplugin
1260    ./autoload
64      ./plugin
800     ./tutor
3348    ./spell
176     ./compiler
200     ./macros
112     ./tools
844     ./lang
252     ./keymap
18000   .
Notice that the subdirectories of  macros don't appear.
or even:
aaa:vim70> gdu --max-depth=0
18000   .
The default unit is kilobytes.  You can use -h to get it in human readable form:
aaa:vim70> gdu --max-depth=1 -h
5.0M    ./doc
136k    ./print
76k     ./colors
4.4M    ./syntax
420k    ./indent
628k    ./ftplugin
1.3M    ./autoload
64k     ./plugin
800k    ./tutor
3.3M    ./spell
176k    ./compiler
200k    ./macros
112k    ./tools
844k    ./lang
252k    ./keymap
18M     .