There's also Developing Web Applications with Haskell and Yesod by Michael Snoyman which is available from O'Reilly in dead tree format or for free in HTML format: http://www.yesodweb.com/book
It's a pretty good introduction to Haskell web development for people who are already familiar with both web development and Haskell.
":" runs Emacs functions. Some commands from Vim have been added, but not all of them. If a function with the same name as a Vim command already exists in Emacs, it's not replaced. I'd imagine replacing the default Emacs functions could break things in weird ways.
:cd runs the Emacs cd function which behaves differently than Vim's :cd.
To get the equivalent of :tabnew, you'd have to use :buffer [name] and give the new buffer (Emacs's equivalent of tabs) a name.
There are a number of auto-completion plugins for vim. So even that isn't a loss. There's also Syntastic for syntax checking.
I found the biggest benefit of using vim is the fact that I don't have to switch between different IDEs for different languages. I can use vim for everything.
Manhattan and the trendier parts of Brooklyn have a rent problem, but most people commute from the outer boroughs, Long Island, and New Jersey where rent is much cheaper.
If I need a scripting language, I prefer Ruby because I know it the best now. I'm pretty good at Python, but feel more comfortable in Ruby because I use it more often.
It's a pretty good introduction to Haskell web development for people who are already familiar with both web development and Haskell.