What is Vim?

Vim is Vi improved. So, what’s Vi? Instead of trying to explain to you in my own words what Vi is, I’ll do us both the favour of consulting Vim itself. By hitting the Escape key to return to -- NORMAL -- mode, I enter :help vim_diff.txt and I’m given a detailed scrollable overview of the differences between Vi and Vim. Some of its more interesting features include:

  • Multiple windows and buffers
  • Syntax highlighting
  • Spellchecking
  • Plugins
  • Visual mode
  • Help system
  • … The list goes on.

But what if you don’t care about all that? What if you’re someone who prefers convenience over granular control, customisation and a learning curve. Then Vim may not be for you. If you’re looking for a minimal, distraction-free editor / word processor available for GNU/Linux, which can be customised in just a few clicks, then I’d recommend this.

I use Vim BTW

In case you haven’t already guessed, I’m writing this post in Vim. As I type, the only other detail visible on screen is -- INSERT -- in the bottom-left corner, which tells me I’m currently making changes to my file.

I’ve used GNU/Linux as my operating system for a few years now, and in all that time I associated the more advanced uses of Vim with the initiated few who could dance their fingers over keyboards, navigating buffers quick as thought, leaving mice in the dust. (Here’s where I’d add one of the many Vim memes if I didn’t prefer not to use images in my posts.)

For me, Vim was always just the built-in text editor I preferred to Nano. Sure, I’ve been slowed down by the infamous beginner’s conundrum that is :wq to write and quit, and I’m still trying to get used to using h,j,k,l instead of the arrow keys, yet I always found it more intuitive than Nano as an occasional, lightweight editor. (It’s right about here that a new battle in the ’editor wars’ would begin if you found yourself in certain places online. Let’s not go there.)

KISS

You don’t need a certain type of editor to write well digitally, nor do you need a certain type of pen to write well by hand. It’s become clear to me now that the reason many people out there use Vim as their ‘daily driver’ for writing is because of its modular nature. You saw earlier that one of Vim’s key features is its plugins. I just tried to find out how many plugins are available so I could enlighten you. Who doesn’t love the occasional stat? But there doesn’t seem to be an estimate floating around online. If there is, I couldn’t find it amongst the usual suspects:

  • 15 Best Vim Plugins for Programmers and Developers
  • Top five Vim plugins for sysadmins
  • 21 Best Vim Plugins
  • 10 essential Vim plugins

Maybe that shouldn’t come as too much of a surprise. After all, we’re seeing free open source software development and collaboration at its finest here. Most developers likely host their code on popular git sites, but some may choose not to, so it’s always going to be difficult to get a clear idea of how many plugins are out there. Lucky for us, though, some of the best plugins are easy to find and well documented.

Plugins I’m using right now

Goyo

Goyo removes all of the visual clutter surrounding your point of focus when writing: the words. Line numbers, highlighted rows and columns, and status lines are great (we’ll get to them in just a minute), but when it comes to distraction-free writing, you’re better off getting rid of everything that isn’t necessary; anything that might distract you. And if you want to automatically enable Goyo every time you open a .txt or .md file? You’re just an autocmd away from easily achieving that and more.

Limelight

If you’ve ever used FocusWriter or iA Writer, you’re probably familiar with one of their best features: highlighting only the paragraph you’re currently working on. Everything that comes before or after this paragraph is reduced in opacity, further aiding focus. This is exactly what Limelight sets out to do, and it does it well. While Limelight can only highlight paragraphs, the community appears to have made some progress with single-line/sentence highlighting.

Wordy

I suppose Wordy is the Grammarly of Vim. Allow me to sacrifice my own words to serve a demonstration, using just one of Wordy’s command arguments: :Wordy weak. The words in this paragraph which are highlighted are those Wordy considers ‘weak’. (As you can see, it’s not entirely accurate.)

Next steps

There are so many plugins out there. I’ve only scratched the surface in this post, but even if you only try those I’ve mentioned above, you’ll be off to a great start writing notes, poems or your next novel in Vim.

Check out the links below to learn more, and feel free to use my .vimrc file to get started with your own Vim setup.