Neocomplcache +ghcmod + neco-ghc delivers good support for auto-completion.
Syntastic will annotate errors in your source file.
Gundo for reverting and viewing local changes, vim stores internally a tree with changes. With some configuration it can remember changes for days. The only drawback is that you can always hit u, because your last weeks changes are still remembered.
For searching in files, I use ack.vim.
And for moving to files, I use ctrl-p, which let you open files with little typing.
You should also look into sessions (a vim feature). With this you can save your current development environment and start from there.
Bundle 'neocomplcache'
Bundle 'surround.vim'
Bundle 'eagletmt/neco-ghc'
Bundle "eagletmt/ghcmod-vim"
Bundle 'ctrlp.vim'
Bundle 'ack.vim'
Bundle 'Gundo'
Bundle 'scrooloose/syntastic'
Bundle "Shougo/vimproc"
There are a lot of different plugins I use, but these have proven themselves useful, also for general development.
I miss a program for creating tagfiles for haskell. This would be handy, because you can jump quickly to definition file with this.