Why Vim Is Brilliant for Writing
It’s time to stop letting the programmers have all the fun

If you are a programmer, chances are, you probably already know all about the text editor Vim. And even if you are more of an Emacs or IDE user, there’s no denying Vim is an excellent tool for coding.
But what about prose? Or poetry, for that matter? Can Vim work as a daily writing tool?
Well, yes, it can. In fact, once you get used to the Vim way of doing things, I wager you won’t want to use anything else. And no, you don’t need to be tech-savvy to use it.
With that in mind, it’s time to stop letting the coders have all the fun and talk about why Vim is the perfect tool for writing.
My journey towards Vim
Like many writers, I’ve spent a fair amount of time searching for the perfect writing tool. Back in my teens, Notepad was that tool. Sure, it didn’t have formatting, a spell checker, or, well, much of anything.
But 14-year-old Mike didn’t much care for any of that. All I wanted was something less frustrating than Word for composing my HTML hot takes and oversharing for my “Freewebs” blog (thankfully, all lost to digital rot).
A switch to Linux, a burgeoning writing career, and several laptops later, I’ve tried every word processor, note-taking app, and markdown editor under the sun. Yet it took me a long to realize that all I wanted was to go back to a text editor. Only one that could do a few things Notepad couldn’t.
Specifically, my dream text editor should check all of the following
- Completely distraction-free, with no annoying menus, options, etc, while still being highly configurable
- Offers spell-checking (and preferably grammar-checking) capabilities
- Can work with multiple formats and understand the syntax I’m using
- Is open-source with no fear of client lockout or becoming outdated
- Can also work as a code editor when I feel like dabbling
- Allows me to jump between files and view multiple documents at once
- Works on any platform, including “outdated” hardware
- Is ‘keyboard-centric’, so I don’t have to reach over to the mouse
And then I found Vim
What is Vim?
As mentioned, Vim is a text editor. And, out-of-box, it doesn’t try to be much of anything else. But that doesn’t mean it’s not packed with functionality. And programmers have taken advantage of its quirky but useful keybindings, completion functions, macro scripts, search functions, and text manipulation tools for a long time.
Now not everything that Vim is capable of will be useful to writers. And I’m not going to pretend that I even understand all of its capabilities. But since that stuff is all under-the-hood, it doesn’t get in the way either. Instead, for me, it offers a barebone and highly satisfying writing experience.
Let’s talk about why that is.
The benefits of writing in Vim
Zero distractions
There are plenty of so-called distraction-free word processors and markdown editors out there. Some of them, like Ghostwriter, are decent. But compared to Vim? They might as well be playing kazoos in your ear.
With Vim, it’s just you and your computer’s terminal. No bells or whistles, menus, formatting options, pop-ups, or log-ins. And no anthropomorphic paperclips turning up to irritate you.
Keyboard-centric
Vim does not play too well with mouse clicks. But that’s not a bug — it is a feature as Vim is designed to keep your hands on the keyboard. Actually, if you use Vim “correctly,” you won’t even have to stray from your keyboard’s “home” keys.” Indeed, using the directional pads is a rookie error.
The idea here is to save you time and effort. But I understand this is not something everyone will get along with. But for me, doing things the mouse way feels tedious.
No lock-ins, intrusiveness, or deprecation
If you’re familiar with my writing or blogging, you’ll know I’m a big fan of open-source software. It is not that I’m so dead set on avoiding proprietary or paying for stuff. But if I’m going to invest in a tool, I want to know that:
- a) That tool will be serviceable for a long time yet.
- b) I’m not going to be at risk of losing any of my files.
- c) I’m not going to be hit with any hidden costs down the line. And by hidden costs, I also mean my privacy and data.
With Vim, none of the above are a worry. It has been going for decades and will be around for many decades more — no account, sign-up, or rubbish required.
Text manipulation and navigation
There’s an old joke that people become obsessed with Vim because they don’t know the command to exit. In reality, Vim is not as half as difficult to learn as some make out.
That said, there is a learning curve. And when you are just starting with Vim, all the different modes and keybindings can seem like more of a hassle than anything else.
In my experience, though, once you push through and learn the Vim way of doing things, everything else will seem poorly designed in comparison, as Vim makes navigating and editing a document a seamless experience.
How to optimize Vim for writing
Step #1: Learn Vim
Again, Vim has a learning curve. But thankfully, there are so many tutorials out there now that learning should be a breeze.
One of the absolute best resources to learn Vim is Vim itself. Or more specifically Vim Tutor, the short tutorial that comes with Vim that should teach everything you need to know to get started.
To access Vim Tutor, simply open a terminal and type:
vimtutor
Complete that, and you’ll be ready to go in no time.
Step #2: Edit your VimRC file
If you’ve no idea what a Vim RC is, I suggest you check out this article here. But essentially, your VimRC is your configuration file that stores your settings.
There are a lot of options concerning what you can do here. But there are a few specific things you’ll want to change or add to make Vim more writer-friendly.
syntax: enable
With this enabled, Vim acknowledges the syntax you are using. This isn’t essential by any means, but it can be useful if you are writing in markdown.
set textwidth=100
Because nobody likes horizontal-centric screen reading.
set spell spelllang=en_us
Vim’s in-built spell checker isn’t perfect, but it will catch most things. You can enable and disable it in the text editor itself. But you might as well set it up here.
Vim uses US English by default but supports many languages. I am from the UK, so I use UK English by default. But I also write for many American publications and audiences, so sometimes I use US English too.
Switching between these languages via the RC file or commands would be a hassle Thankfully, it’s easy enough to add a few custom keybindings instead. Here’s how I have mine set for reference:
map
:setlocal spell! spelllang=en_gb map :setlocal spell! spelllang=en_us
Once you’ve set your language(s), Vim will highlight any misspelled words in your documents. You can also use a few shortcuts to jump between and correct these:
- [s or ]s to move between misspelled words
- z= while the cursor is over a spelling mistake, will provide a list of suggestions
- zg will add a word to your dictionary so it isn’t highlighted again
Step #3: Add plugins (optional)
I think vanilla Vim works pretty well as is. But if you are looking for additional features, you’ll be spoilt for choice. Here are a few writing-specific plugins worth considering:
- Goyo: Goyo centers your text. That might not sound like much, but the result is incredibly pleasing to the eyes and makes Vim a joy to work in.
- Limelight: This plugin highlights whatever paragraph your cursor is currently on, making Vim even more distraction-free than it already is.
- VimPencil: Changes Vim’s default behavior so that it treats paragraphs differently than lines, making document navigation more intuitive for prose writers.
- Vim-Markdown: Vim has some markdown highlighting out-of-the-box, but this plugin adds some missing bits.
Final thoughts
I’ve been using Vim as my primary writing tool for a couple of months now, and I genuinely use it for everything, from emails to compiling manuscripts and writing blog posts. And thanks to Pandoc, another small but brilliant program, I can alter the format of my documents with just a few commands.
Again there is a lot to discover and learn when it comes to Vim — far too much to cover here. But hopefully, this article has piqued your interest and given you the basics to get started. And if you are already using Vim as a writing tool, then do let me know any tips or tricks you know in the comments.
Thanks for reading
If you’d to support my writing you can do so by connecting with me here on Medium or reaching out through my website.
