I don't know why, but vim never worked for me. I tried several times to learn it, but I always forgot the shortcuts... maybe the reason is that I used it only a few times per week, to change crontab or some config file on server.
It was the same for me, for a long time. I've just used vim for commit messages since I was to lazy to change $EDITOR. Then, I can't even remember why exactly, I've taken a few weeks to actually learn the basics. The first few months were a little awkward, since I wasn't as efficient as I was in Sublime Text (which I've used at the time), but I also started to miss some vim keybindings in other editors. After a while, everything clicked and now I have vim keybindings in almost every program where it's even remotely possible. (Shoutout to tridactyl[1]). I think the most important part is to slog through a couple of longer coding sessions, like you said. (Although vimtutor is a good start, as well, and a colleague of mine got started using vim adventures[2])