Reading this crystalised some thoughts I've had for a long time, but never been able to express clearly.
Yes, vim is a non-discoverable interface.
http://www.google.com/search?q=discoverable+interface
( Side note: from that search I found this:
http://www.catb.org/~esr/writings/taouu/html/ch01s01.html
There it lists "... concision, expressiveness, ease, transparency, and scriptability." It then expands on each, but mysteriously quote "Discoverable" in place of "scriptability." Very odd.
But I digress ...)
Now the question is - without having to wade through plodding tutorial after plodding tutorial, how can we help people discover the interface? This doesn't just apply to vim, it applies to your web site, or application, or even your company procedures.
It's now a long time since I learned about :sp and ctrl-w to create and move between windows in vim. How can we help others find these things? How can we help them find the fast way of doing things on our web facility?
As a parting note - I wouldn't equate efficiency to "user-friendly."