I write a lot of Markdown, and my usual workflow is to write in Vim and then use a tool to generate the corresponding HTML. Livedown by Hrvoje Šimić generates a live preview by using a small Node program to watch for file changes. It updates the preview document with WebSockets, so there's no slow page refresh when you make small changes.
You can install the Node application with
npm install -g livedown, and there are separate plugins for Vim, Emacs, and Sublime. The Vim plugin is available at GitHub: shime/vim-livedown. It has some options: you can make it automatically open a web browser preview whenever a Markdown file is opened, and change the port the web server uses.
I found this project through Hacker News (Show HN: Livedown), so if you've got any comments it might be a good idea to post them there.
I've written about similar projects before, but I liked this project because it separates the Markdown server functionality from editor plugins, and the Vim plugin has some thoughtful options.