See thats just it. I don't really know what I need to improve. Usually what happens is this:
1) I have a bug in my code and I go ask a senior guru for help.
2) Senior guru comes over to my desk and helps me diagnose the problem.
3) While I fix the bug, senior guru notices some inefficiency in my workflow (unrelated to the bug) and asks, "Why are you doing X that way...you know you could just do Y".
It's great that this kills two birds with one stone, but it would be awesome if I didn't have to leave this to chance and I could find the inefficiencies myself.
I feel like I could use help in all those areas you suggested, but I've looked at those cheat sheets and they never help. What I feel like I need is a story line of some sort where best practices are taught and I can follow the behavior of others. Ideally something like pair-programming would be the cure but its a lot to ask for.
Generally, you want to stay out of insert mode as much as possible (memorize most of the movement commands and use them), use splits liberally (if you have a big monitor) and use generic awesome plugins such as: NERDTree, surround.vim, snipmate, taglist.vim, etc. Use a complete mode that works with your language of choice or a third-party one that gives more. Omnicomplete is a good place to start and it's built in.
Check out the vim sub-reddit, vimcasts.org, and the Daily Vim blog. There is a wealth of information in those places.
Shoot me an email (see profile) if you want more specific guidance. I initially planned to type stuff out here but remembered how awful the formatting is.
1) I have a bug in my code and I go ask a senior guru for help. 2) Senior guru comes over to my desk and helps me diagnose the problem. 3) While I fix the bug, senior guru notices some inefficiency in my workflow (unrelated to the bug) and asks, "Why are you doing X that way...you know you could just do Y".
It's great that this kills two birds with one stone, but it would be awesome if I didn't have to leave this to chance and I could find the inefficiencies myself.
I feel like I could use help in all those areas you suggested, but I've looked at those cheat sheets and they never help. What I feel like I need is a story line of some sort where best practices are taught and I can follow the behavior of others. Ideally something like pair-programming would be the cure but its a lot to ask for.