I've been using (and loving) something similar to this while switching modes between code and prose in vim [0]. In addition to changing how syntax highlighting, spellchecking and line breaks happen, there are some other interesting bits specific to prose; like formatting text for pasting into word processors, &c.
[0] http://alols.github.io/2012/11/07/writing-prose-with-vim/