Like others have mentioned vimtutor
is a good place to start, there are several other resources available to you for improving on your knowledge & understanding of the vim philosophy, which needless to say is not only brilliant but surprisingly & pleasantly intuitive.
However I would still like to use an example to draw a parallel to how one should approach learning vim.
As we are born, we are pretty much immobile, we need to be carried to wherever we need to go, slowly our legs & arms develop muscles and gradually with practice we learn both how to use them & control them precisely to make use of them to start crawling so we can explore our surroundssurroundings ourselves. As we grow further and develop more muscles, strength & coordination we start to walk and with some more of the same we eventually are able to run. Now you might think this would be the end of it but it isn't, after we're fairly comfortable walking / running to wherever we desire, we feel the need to go farther and farther and realise the need for more tools (different vehicles) to go farther and faster.
Learning vim IMO should be similar to that, in that you should learn enough that you can allow for your mind to grasp quicklythe basics first and withthen gradually and incrementally keep learning more advanced patterns, ideas, plugins to keep improving your workflow. With practice iteverything you learn would seep intoget embedded in your muscle memory and become second nature, and that would the time for you to learn further moremore tricks and repeat thethis cycle. Since VIM is still under development and adding new features (there's also NeoVIM), this process can go on forever.
After spending enough time & effort in understanding & making vima certain point, when VIM's philosophy so that it'shas embedded deep in your muscle memory you will leftstop spending time thinking about how
to do what you want and be completely focused on what
you really want to do. When that happens you will be feel frustrated at how painfully slow &and awful it is to useedit text in other applications &/ editors that don'tdo not have some decent support for mimickingemulating vim.