Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Distraction free writing for Vim, with light and dark themes
Branch: master

fixed par formatting, removed most formatting options (back to straig…

…ht t or l), added customizable font option, added kspell autocomplete, fixed broken map checks
latest commit bc40da11cd
@nathanlong authored

Writer Colorscheme for Vim

This is a minimal distraction-free theme for writing in Vim. There are many like it, but this one is mine.

There's a light mode that's reminicent of IAWriter for use in bright environments and a dark theme similiar to WriteRoom for dark environments.

I built this specifically for use in MacVim and it works best with Tim Pope's Markdown Syntax or my fork of it.


The best way to install is with a plugin manager like Vundle or Pathogen.


" Add to .vimrc
Plugin 'nathanlong/vim-colors-writer'


git clone ~/.vim/bundle/colors-writer


If you roll your Vim setup manually, clone the repo and split the files into their respetive directories (colors/writer.vim -> .vim/colors/writer.vim and so on).

Default Commands

I've built some simple commands into the plugin, all of these can be remapped:

Command Map Description
:WriterToggle <leader>wr Toggles writer on and off in fullscreen mode.
:WriterInitQuiet <leader>wR Loads writer into your current buffer with no fullscreen
:WriterJournal <leader>wj Creates a new dated journal file (format: in your specified journal directory.
:WriterJournalOff <leader>wJ Creates a new dated journal file (format: but does not launch writer.
:WriterSwitchThemes <leader>wq Switches between dark and light themes while in fullscreen mode
:WriterExit <leader>wc Closes writer and reapplies your defaults
:WriterWrap <leader>wp Toggle between hard and soft text wrapping.

Example remapping:

nnoremap <D-R> :WriterToggle<CR>


There are a few options you can place in your .vimrc to control default behavior:

Setting Description Default
g:writer_journal_dir Controls where the journal function saves files. Accepts a path. $HOME
g:writer_theme Choose which theme to load by default. Accepts 'light' or 'dark' 'light'
g:writer_wrap Picks hard wrap (forces line breaks) or soft wrap (no breaks) 'hard'
g:writer_font Allows GUI font and size to be set, same format as guifont none

Example usage:

let g:writer_theme = 'dark'
let g:writer_font = 'Consolas:h18'
Something went wrong with that request. Please try again.