Not vim necessarily, but I would really suggest thinking about a plain text editor of your choice and some of those lightweight markup languages (Markdown itself, reStructuredText, ASCIIDoc … I prefer rST, but they are mostly the same). Exactly because it allows me to concentrate on the content and ignore formatting. Besides, formatting, do you write for print or as everybody else these days for HTML? Why do you need a large word processor which is build primarily for preparing documents for print? Every serious text editor has some kind of plugins with spellcheckers, grammar checkers, dictionaries, etc.
Eh? Both pandoc and rst2epub can generate eBooks. All those lightweight markup languages are especially awesome for converting into various output formats.