This is not a vim plugin. I am not that smart to code a plugin. Rather, I am just writing a note here on how I am using Vim to write stuff, mostly blog entries for Caspershire & Caspershire Meta.
Note that I prefer writing using
gvim (Arch linux:
sudo pacman -S gvim) rather than using in-terminal
vim, mostly because I am trying to retain sanity.
To enter my zen writing mode, here are the plugins I am currently using:
- Goyo. It has the iA Writer feels.
- Limelight, best coupled with Goyo.
- vim-pencil, makes writing a better experience.
- vim-grammarous, a grammar checker.
- vim-wordy to identify word misuse.
- Latest Vim, which is Vim 8. Vim 7 is a thing of the past.
These plugins best be installed with a plugin manager. I always go with Vundle because that’s what I started with at first.
I have this (kind of) config file for my writer mode here
~/.vim/writer.vim. Here’s the content:
SoftPencil colorscheme pencil set background=light Goyo Limelight
In this current form, my Writer Mode is basically usable. When I am writing and my current buffer is a markdown file, I simply call my writer mode by issuing
:source ~/.vim/writer.vim and magic happens. However, ain’t nobody got time to write this long command. Hence, I mapped this in my
nnoremap <space>wr :source ~/.vim/writer.vim<cr>
So to get into my zen writing mode, I simply press
<space>, sequentially followed by
r. The only downside is that I need to quit twice, because the first
:q to close Goyo and another
:q to exit Vim.
Zen Writer activated!
I treat my
<space> key as my leader key for two reasons: I am also using Emacs with Spacemacs distribution where the leader key is
<space> and because the
<space> key is big I can hit this key with 99.99% accuracy even while I am sleeping.
For proofing, I first use
:set spell spelllang=en_us to enable Vim’s built-in spell-checking, in which I mapped this key to
<space> followed by
s key twice.
nnoremap <space>ss :set spell spelllang=en_us<cr>
As for checking the grammar, I call
:GrammarousCheck. For some weird reason, it is better to run this grammar checking when Goyo is off. To turn off Goyo, just issue
:Goyo. Sometimes I also use
:Wordy to gauge the quality of my writing.
Note 01: I set the font in
gvim to use Cousine Regular (10 pt) because I like how it looks.
Note 02: I like to complicate things. I am running
gvim on a virtualized Arch linux because we don’t have a
gvim for macOS or Windows. Although the setup is time-consuming, but I like the result. There is Oni, a GUI front-end for Vim but it is based on Electron. It beats the purpose of Vim itself. Vim is supposed to be lightweight, and Electron is exactly the opposite of that.