Disclaimer: This content is not owned by the current webmaster nor do we claim the credit.  Ownership of this domain has changed hands. This URL however as a courtesy to web users is a  historic copy of what was originally published.

Conner Mcdaniel has created a new blog at You can find all of his current publication there.

Using vim in place of WriteRoom
Oct 12, 2011

Fullscreen editors, also called distraction-free editors, have become popular lately. It’s appealing to have nothing but the words you’re editing before you. However, these editors are often lacking some of the most elemental of features and sometimes cost money. Fortunately, it’s pretty easy to make MacVim into an exact replica of WriteRoom (or gVim into DarkRoom on Windows). Put the following into your .vimrc:

let g:writeroom = 0
let g:transparency = &transparency
function! WriteRoom()
if has(“gui_running”)
if g:writeroom == 0
let g:writeroom = 1
set columns=80
set fullscreen
set linebreak
set nocursorline
set nolist
set nonumber
set noshowmode
set rulerformat=%{strftime(‘%b %e %I:%M %p’)}
set transparency=0
hi NonText guifg=bg
let g:writeroom = 0
set cursorline
set list
set nofullscreen
set nolinebreak
set number
set rulerformat=
set showmode
let &transparency=g:transparency
hi clear
This creates a function that you can execute to put MacVim into WriteRoom mode. If you don’t want the clock display then you can comment out the lines about rulerformat. Personally, I like to keep track of time when I’m in fullscreen mode. You can also change the lines and columns to best fit your screen size. Then, you can map a shortcut to execute the function. I use gw for normal mode and \w for insert mode.

nmap gw :exe WriteRoom()
imap w :exe WriteRoom()i
It’s pretty easy to make vim look however you want. If you happened to have some secret passion for notepad then it wouldn’t be difficult to make vim look that way either.

Leave a Reply