Vanilla Vim is pretty sub-optimal for writing prose.
Vim is my text-editor of choice, but it took me a lot of time and effort to customise it to make it more suitable for writing prose.
E.g. the fact that it scrolls by logical lines rather than screen lines (note I that I said scrolls. I'm aware that you can navigate by screen lines by using gj and gk). The way this makes the text scroll by unpredictable amounts when you have paragraphs of text is pretty jarring. You can hack around that by getting the text to auto-format and break lines up into screen lines, but there's all sorts of niggles with that (and FWIW, it causes some of its own problems, such as making it harder to search for phrases, because words may no longer be separated by just spaces but also possibly linebreaks).
My own vim-seek was created for navigating long sentences easily; criticmarkup is a superset of markdown for cuts and other edits, which I ported to vim. And vimroom offers a IA Writer-inspired experience. For what Scrivener and outliners offer I'm working on something to scratch my own itch.
What else would you find missing for a writing workflow?
autocmd FileType text set textwidth=75
autocmd FileType text set formatoptions+=a
autocmd FileType text set formatoptions+=w
explanation:
- formatoptions+=a: auto-format as you insert text, which means it will (basically) automatically insert a newline once you've typed 'textwidth' number of characters on your line. it will insert a newline while you are typing.
- formatoptions+=w: this isn't necessary, but it has an effect on the way the auto-formatting is done. i find the 'w' options more convenient. With 'w', a linebreak means a new paragraph, unless trailing whitespace at end of line. It means that the 'a' option doesn't auto join lines separated by a linebreak.
- if you're not familiar with Vim's autocmds, what they're doing in the above definitions is setting those options for any text files that are opened (and only text files).
Vim is my text-editor of choice, but it took me a lot of time and effort to customise it to make it more suitable for writing prose.
E.g. the fact that it scrolls by logical lines rather than screen lines (note I that I said scrolls. I'm aware that you can navigate by screen lines by using gj and gk). The way this makes the text scroll by unpredictable amounts when you have paragraphs of text is pretty jarring. You can hack around that by getting the text to auto-format and break lines up into screen lines, but there's all sorts of niggles with that (and FWIW, it causes some of its own problems, such as making it harder to search for phrases, because words may no longer be separated by just spaces but also possibly linebreaks).