Vim looks like it sucks. Here’s why it’s my favorite writing tool

How an old text editor from the 1970’s is actually the universal text editor with hidden super powers, and why you should use it to become a great writer.

Vim: it’s not much to look at — a flashing cursor, a column of tildes along the left side. Some random numbers and words along the bottom, maybe. It looks like a computer program from 1976, because that’s exactly what it is.

If you start vim in the Terminal, this is what you’ll see

Why would anyone want to use this text editor, when there are decades of improvements and features in programs like Word, Pages, Docs, whatever?

It doesn’t have a menu bar, it doesn’t have a tool bar, what’s going on?

You can’t even format the text. There’s no bold, or italics, no fonts. That’s because vim is a text editor: like Notepad in Windows, it only allows you to enter letters, numbers, and punctuation — no formatting.

What are you supposed to do with this program, anyway?

Write. It’s for writing, and editing. It’s not for page layout, formatting, or inserting graphics. It won’t post what you wrote to social media, or to your blog.

It’s a pure writer’s tool — simple, fast, reliable.

You can write code, you can write prose. Vim gets out of your way and lets you get work done.

One of vim’s best features, in my opinion, is the completely bare user interface. There’s nothing to distract you. It’s time to write.

You try it out. It’s easy, if you know how to type. If you don’t know how to touch type, you aren’t going to like vim. But if your fingers are comfortable on the home row, you’ll love vim.

It’s not designed for a mouse (although you can use one, if you want — but why bother?). It’s designed for typing, fast.

How do I use vim?

There are two ways to use vim:

  • launch it from the command line.
  • run it as an app.

Wait, what? The command line? What is this, 1976? We’re well into the 21st century. What about the mouse, the taps, the swipes?

We’re here to write. We’re going to use the keyboard, that’s it. The idea is to keep your fingers on the keyboard, not to paw at your desk, trying to find your mouse, or poke at your screen like some dazzled chimp.

Your computer has some kind of command line feature, whether you’re running Windows, Mac, or Linux. If you have a Mac or Linux computer, you’ve already got vim installed. In fact, vim is available for for free for pretty much any computer operating system. Plus, it’s free.

If it’s free, it must suck

Vim is free because it’s open source software, not because it sucks. In fact, it’s fast, reliable, and hardly uses any disk space, RAM, or CPU cycles. It’s incredibly responsive. No more waiting for the cursor to catch up with your typing, even if you have a slow computer.

But the real reason it’s so fast is because you never have to take your hands away from the keyboard.

To run vim from your Mac or Linux computer, just open Terminal and enter:

vim

That’s it.

Pro Tip: Once you start vim in Terminal, use your Full Screen button on the Terminal window (or the F11 key). Now vim takes up the whole screen, and there’s nothing to distract you at all.

If this is too intense, and you miss your system menu bar and window controls, you can run vim as an app.

Running vim as an app is a great way to learn about some of its more powerful features, because you can explore the commands in the menu bar. But I encourage you to run vim from Terminal, because you probably already have all the software you need right now.

If you’re running Windows, or even DOS, you can download a version of vim that runs on your computer from the Vim website.

In fact, you can download vim for just about any computer on the vim download page, including different vim apps, like MacVim, that you can launch without using the command line.

So go ahead and start vim on your Mac or Linux computer, or download the version of vim that runs on your computer, and start it up!

I’ve got vim running and I type and nothing happens. This program sucks!

OK, you’ve got vim running, and it’s filled up the whole screen, and there’s nothing on the screen to distract you, but there’s nothing there to help you out, either. When you type, nothing happens.

That’s because vim uses modes, which means you’re going to use the keyboard to:

  • edit text in normal mode (this is also your “home base,” where you can access all the other modes);
  • enter text, in insert mode;
  • enter commands in command-line mode;
  • select text to cut, copy and paste in visual mode.

There are a few more modes, but these are the ones you’re going to use 99% of the time. When you start vim, you start in normal mode. Again, think of normal mode as your home base in vim.

I just want to write. Why do I have to remember all this stuff?

If you’re a writer, you’re probably already using “modes” when you write. You’re either creating new text in writing, or creative, mode, or you’re editing the text you created.

It’s hard to write well if you’re constantly stopping to edit what you just wrote.

Good writers separate the creating and the editing, and vim helps you do that too, because that’s exactly how vim works.

Vim works like you do: to create new text, you switch to insert mode to insert new text on the screen where the cursor is. Just hit i to enter insert mode — the word — INSERT — will appear on the bottom left corner of the screen on the last line. This bottom line on the vim screen is the status line and it will tell you which mode you’re in, among other things.

After you press i to go to insert mode, just start typing. Your text appears right at the easy-to-find cursor.

There’s nothing to distract you from your writing. There’s no auto-correct, or automatic suggestions from Google or Apple, no red zig-zags under words the computer doesn’t recognize. Just what you type, that’s what you get.

The vim screen in insert mode displays the word "INSERT" on the status bar
In vim, What You Type Is What You Get: WYTIWYG, pronounced “witty-wig.”

It doesn’t look fancy, so you don’t have to worry about picking a font or setting up the margins, or anything else besides writing. Just go to Insert mode and get to work.

OK, this is pretty cool

If you’re using vim, full screen, typing away in insert mode, there’s nothing else on the screen to distract you: no flashing icons, no other windows with browser tabs or emails to tempt you away from your writing.

There are no palettes, toolbars, or rulers to clutter up your screen. Vim is a text editor, so you can’t format the text anyway.

Vim shows just the cursor and what you type. That’s it. Do you feel that zen-like calm descend upon you as you slip into the zone, cranking out hundreds of words in a matter of minutes? I do.

Made a mistake? No problem, you can go back and fix it later. You can even run the spell checker. But right now, you’re in creative mode (also known as insert mode in vim). Write some words here!

Of course, you can use the Backspace key in insert mode to remove any characters you just typed.

All right! I wrote some good stuff, and now I need to save it

After you’ve written for a while, you’ll probably want to save your file. If you just started vim at the command line, or launched a vim app, you haven’t given your file a name yet.

To save your file with a new name, you’re going to go back to normal mode to get to the command line. It sounds complicated, but it’s actually really easy.

To get to normal mode (you can do this any time in vim if you’re not sure what’s going on), just press:

Esc

You’ll notice that the — INSERT — indicator disappears from the bottom of your screen. Now, there’s nothing in that lower left corner, on your vim status bar. This means you’re back in normal mode.

If you’re not sure, just press the Esc key, as many times as you want. You won’t break anything! This program’s been around since the 70’s, it can handle it.

In normal mode, you can access the command line. It’s easy — just press

:

You’ll know it worked because the : shows up in the lower left corner of your vim screen. That’s the command prompt.

Do you want to make it go away? Just press Esc — that will always take you back to normal mode, which is like your home base in vim.

From normal mode you can go to:

  • insert mode — press i
  • command line — press :

That’s how to switch between the modes — easy to remember. If you want to learn it now, try switching between the three modes:

Esc i Esc : Esc

Watch the status line at the bottom left of the vim screen to see which mode you’re in.

So how do we save our new file? First, go to the command line:

Esc :

Now type the write command and give your file a new name, like this:

:w ~/vimfile.txt

and press Enter to save your file. This writes the file into your home directory (~/) with the name vimfile.txt.

In normal mode in vim, type :w ~/vimfile.txt to save your new file to your home directory
In command line mode, your command appears on the status bar

If that worked, you’ll see something like this on the status bar on the lower left (the number of lines and characters will change depending on how much you type):

"~/vimfile.txt" [New] 1L, 55C written

Now, to go back to entering text, press A (Shift – a) to append new text. That automatically puts you into insert mode at the end of the current line.

Now, just type away. When you want to save, you don’t have to list a file name, because you’ve already named and saved your new file.. Just press:

Esc :w Enter A

This key sequence will;

  1. Put you in normal mode (Esc)
  2. Go to the vim command line (:)
  3. Write your file (w Enter)
  4. Return you to insert mode at the end of the current line (A)

Maybe that seems like a lot, but since you’ll do this sequence of commands over and over again, pretty soon it will be automatic, muscle memory:

Esc :w Enter A

Now you’ve discovered the secret power of vim. You can control the program with quick key combinations that you’ll memorize quickly, because you’ll use them so many times when you’re writing.

Once you’re done working on your new file, you can save and quit vim with this key sequence:

Esc :wq Enter

That’s very similar to the key sequence you use to save your file, with a slight difference: :wq tells vim to write the file, then quit.

What’s next with vim?

The next step is to learn how to edit in vim’s normal mode. But you don’t have to do that.

Once you’ve written your rough draft in vim, because it’s a simple text file, you can open your file in pretty much any word processor or page layout program if you want to edit, format, or lay out the text you’ve entered.

Vim helps you keep the editing work separate from the writing. Vim also turns your computer into a distraction-free writing machine. Try it out!

Remember, it’s free, and the files vim creates are compatible with any program that can read a text file.

Let me know what you think of vim in the comments below.

9 habits for writing every day

If you want to be a writer, or improve your writing, or reach a wider audience, you have to write. Here are 9 habits that helped me learn how to write every day.

  • Be physically comfortable: Get a good chair and desk. I prefer a lap desk for typing with a Bluetooth keyboard. If you can look up, ahead, instead of down, I think that’s even better. It’s easy if you have a notebook or a laptop, or even a tablet or a phone – just prop it up high so you don’t have to hunch over. I like to write in different locations, but I can usually set up a pretty comfortable arrangement with just a chair or a stool, and some kind of desk for the keyboard.
  • Water, nearby: Writing is thirsty work. I also like coffee or tea, but I keep it simple. Writing can be a time to recharge. I recharge my devices (phone, tablet, laptop) when I’m writing so I’m ready to write later. Same with staying hydrated
  • Follow a schedule, even if it’s just deciding to stand up from writing every half hour. When I want to be productive, I use a pomodoro timer to schedule breaks. I can stay very focused, almost regardless of my environment, when I schedule breaks every 25 min. Taking breaks or resting is equally important to actually writing. Find the time of day that’s best for you to both write, and rest. I like to write in the morning, but everyone is different. Sometimes I write just before I go to sleep.
  • Write every day. Honestly, if you just carry a little spiral notebook and write something in that every day, if it’s even just the date and the time, well, you’ve written every day. Build the habit from the simplest, most basic action.
  • Track your writing, Save it somewhere safe, and even private. Count it out. How many words? How much time did you spend actually writing? Tracking how much you write now will help you write more in the future. Simple information is useful. How many words did you write? Did you write a few minutes, or a couple of hours? Learn from what works and what doesn’t.
  • Give yourself some time to just write, even if it’s garbage. Some people set a timer. I shoot for 750 words a day where I just don’t care what I write, as long as I’m moving the cursor. Sometimes it is garbage, but I don’t care. Once in a while, I stumble on something that’s worth exploring. But, for just a few minutes a day (maybe 20 or so) just tell the editor part of your to take a break, and just write.
  • Separate writing from editing: It was probably different when everyone had to use quill pens, but now, it’s easy to produce words, a valuable skill in its own right. Create, then edit later. Maybe even much later – that’s one of the great things about writing. You can pick it up later. Just keep producing.
  • Write about what you learn: If I learn something new, I figure it’s a good day. If I want to remember what I learn, I write about it — that’s even better. Even if no one else ever reads my notes, I wrote it out and that helps me figure all kinds of things out.
  • Remember that you can’t edit until you write, and you shouldn’t publish without editing. So it all starts with the writing. Get the habit of writing first. Only after you’ve written something, every day, should you try to edit and re-arrange.

You don’t have to do all of these things, all of the time. Instead, try to focus on building and installing one habit at a time. A habit is something you do automatically without having to think about it. If you make writing a habit, then you’ll write, a lot!

Do you know how many words you already write each day? If you’re spending time online, chatting and emailing, you probably generate a lot of words. If you count the total number of words you produce every day, you might be surprised. I keep an editor window open all the time, and I just paste my daily writing in that window.

If you don’t have to write for work, write for yourself. Maybe even have fun, or vent. But the most important thing is to write, even if it’s just for a minute or two.

What are the habits you cultivated to help you write every day? Add a comment below: