Neovim Progress

Neovim is now on GitHub, has a Google Group, and Thiago has been posting progress updates:

  • Rewards have been fufilled with and logos on website
  • Most of the code in os_unix.c has been ported to libuv in the os directory, getting us closer to have windows support.
  • The job control patch has been merged, which will be the base for the new plugin architecture
  • Currently working on the msgpack-rpc interface

The job patch is an improved version of the one he submitted to the Vim mailing list in January.

The job module implemented here will be reused for spawning plugins. The basic difference between plugins and plain jobs started with jobstart is that instead of invoking an auto commands passing the raw data to the vimscript programmer, plugins will have access to Neovim msgpack API directly

Read More →

Script Roundup: Reveal in Finder, Autosave


Thai Pangsakulyanont sent in vim-reveal-in-finder (GitHub: henrik / vim-reveal-in-finder, License: MIT), a plugin that can open the current path in Finder. It uses the open command that Mac OS has, and can be run by typing :Reveal.

Thai suggests adding :map <leader>e :Reveal<cr> to your .vimrc so it can be invoked quickly.


Autosave by Calon Xu saves backups of new files.

Read More →

Better Encryption in Vim

Using Vim as a password manager seems to be popular, but the built-in encryption options are limited. If you look at :help 'cryptmethod' you'll see options for zip and blowfish, with zip as the default.

Stephen Braithwaite asked on the Vim development list if AES support was desired:

I am a programmer, and would like to add AES to available encryptions, which currently is mostly only blowfish. Would such an addition be welcome? Would such a patch contributed by me be acceptable? Or are there good reasons why Vim should have only blowfish, and the original encryption available in Vim which is known to be broken, and whose name I have forgotten?

Read More →

Use Vinegar with NERDTree

I use Tim Pope's vinegar.vim, which shows a file list whenever - is pressed. I don't use project drawers anymore, and for some background on why you should check out Oil and vinegar - split windows and the project drawer.

If you agree with that article, but still like the way NERDTree handles files, you could compromise with Dhruva Sagar's fork of vinegar.vim. This triggers NERDTree whenever - is pressed instead of the built-in netrw.

I found this fork in Why does NerdTree exist? What's wrong with netrw? on reddit, where Dhruva said:

Read More →

Script Roundup: vim-heroku, heroku-remote, heroku-binstubs


vim-heroku (GitHub: tpope/vim-heroku, License: Vim) by Tim Pope is a Heroku Toolbelt wrapper. It provides a :Hk command that wraps around the Toolbelt but also hk.

hk is a faster Heroku command-line client, which is by Heroku but is unsupported and has to be installed from source. It's written with Go and supports zsh and bash completion.

That means if you've got hk and vim-heroku, you can get tab completion in Vim as well.

Read More →


I don't know if Vim-inspired aesthetics is a thing, but some people are definitely console fetishists. Ideas from Vim and text-based UIs make their way into web software, and a great example of this is Treed (GitHub: jaredly / treed, License: Apache 2.0) by Jared Forsyth.


Treed is a "tree editing" component. By using some of Vim's keyboard shortcuts, you can navigate and edit trees, and the results can be rendered in real time using D3.js.

Read More →


When I showed TimL to people they asked me if it was a joke, so it's not surprising that Tim Pope has actually put a section in the readme called "Is this a joke?"

If you mean the 6,000 lines of working code, then no, I poured hundreds upon hundreds of very serious hours into that. But if you're referring to the fact it's woefully underdocumented, adds considerable overhead to an already slow host platform, and ultimately unlikely to gain any traction, then yeah, probably.

TimL is a Lisp implementation that transpiles to VimL. If you know anything about Lisp then you might already appreciate that it's technically relatively simple to parse. However, TimL isn't just any old Lisp, it's somewhat Clojure inspired:

Read More →

Script Roundup: angular.vim, clone


Angular.vim (GitHub: burnettk / vim-angular, License: Vim) by Kevin Burnett is a set of shortcuts for working with AngularJS projects. Features include switching between test and implementation files (:A), goto file tweaks (gf), and spec runners.


Clone by Ingo Karkat adds a :CloneAs command for copying the current buffer to a new file.

It keeps the current buffer intact and unmodified, and you can clone part of a file with a range as well (:[range]CloneAs). It also supports cloning into a split window (:[range]SCloneAs).

Read More →