When I was moving around Watch People Code the other day while figuring out how to livestream my work on a new project, I found a interview by the site’s administrator, Alexander Putilin, with Justin M. Keyes, a contributor to an open-source project called Neovim.

Here’s the video of the interview:

Neovim is a new version of a classic text editor called Vim, which I’ve become more interested in the last few months.

It’s an interesting interview as it offers a view into the problems and joys of running a loosely-organized open source project, with references to something he calls “the trust model.”

But for me two specific points from Keyes stuck out to me:

  1. At about 16:20 in the YouTube video he talks about the notion of “intuition” and “taste,” citing Linus Torvald.

  2. At 25:50 Keyes talks about how if you’ve edited your vimrc file– even just to add a custom key mapping, you’re effectively a plug-in author. I think it’s smart to erase the somewhat artificial line between those who package their vimscript functions and key mappings into plug-ins and someone who just adds their own key mappings and vimscript functions to their vimrc files.

For example, I’m super-satisfied with my little Markdown keymap that I wrote the other day, and I’d be happy to offer it to others who had the same problem/need as I did when I wrote it. And of course, I’d be excited to see how they’d improve it.

By the way, here are the instructions I followed to install Neovim on my machine using Homebrew. Apparently it’s pretty stable as of this summer.

Note that when you install (via Homebrew at least), in the console window it gives you two suggested commands for linking your current .vimrc file and .vim directory to where Neovim will look for these files, and it worked like clockwork for me. Here they are:

The Neovim executable is called 'nvim'. To use your existing Vim
    ln -s ~/.vimrc ~/.nvimrc
    ln -s ~/.vim ~/.nvim
See ':help nvim' for more information on Neovim.

But for now I’m still going steady with MacVim.


Due to a recent change to Neovim’s master branch, the above symlinks are no longer correct.

See this Reddit thread, which points to issue #78, for more information.

Here are the new symlinks I ran. They seem to have brought everything back to normal.

ln -s ~/.vimrc ~/.config/nvim/init.vim
ln -s ~/.vim ~/.config/nvim

Interesting that they’d push such a significant change to master. Guess that’s part of the thrill of using pre-release software!