I have written Java in the past, but I don't use the language now. I use exclusively vim features and plugins to do all that things you asked in other languages though. For example I navigate around with HJKL, gg/G, gd, and "".
I used Jekyll. It's static content machine and I loved it. I now use nanoc. It's the same principle but I think it's better. I don't think that there are any books about Jekyll, but you can google around for basic tutorials.
when I got started with programming (c), I wondered why not use whitespace instead of curly braces. Then I found Python and its community and I fell in love. Love this idea as well. I will help with what I can.