The best way to learn anything in Vim is by accident
stackoverflow.com
stackoverflow.com
However, I would argue that for the vast majority of Vim features, learning "by accident" is unfeasible. Many commands give no visual or verbal indication of what happened (consider marks). Further, both the tutorial and the Vim wiki are very readable and can cover a lot more ground than by hoping to accidentally hit a goldmine feature while mashing random key combinations.
Especially at the beginning, when you do something like starting to type words while in normal mode and the screen scrolls and a bunch of crap gets deleted, there isn't any highly visible way to see what happened and it's easy to get discouraged.
Accidents like that might provide motivation to find the correct way, but rarely much information on what to do.
Vim is excellent software and usable (as in easy to actually use, once you are at cruising altitude) but easily discoverable it is not (until you grasp the system's fundamentals, then you don't need to 'discover' much - you just express what you mean to do without needing to memorize 40,000 hand-contorting ctrl-alt-chords, or configure your text editor in LISP)
color slate
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set mouse=a
set laststatus=2
autocmd FileType make set noexpandtab
set tags=tags;/