Latest Posts

Streamlining Vim's :grep 

Vim's most straightforward method of global search is its :grep command, which invokes 'grepprg' (often grep or a drop-in replacement such as ag). I outline a few lightweight changes that make working with :grep less awkward. Read more

Vim's :*do Family of Commands 

Vim has a class of commands that execute their arguments in the context of each of a collection of entities, including tab pages, windows, buffers, items in the arg list, etc. This is a summary of such commands. Read more

Introducing Composer.vim 

Composer.vim provides Vim support for Composer PHP projects. Features include a command-line wrapper with smart completion of subcommands, flags, and even package names from remote package repositories such as packagist.org; go-to-definition for classes, interfaces, and traits using Composer's autoloader; and integrations with Projectionist.vim and Dispatch.vim. Read more

The Planck Keyboard 

The Planck is a 40% computer keyboard with an ortholinear layout (the keys are arranged in columns rather than being staggered as on a traditional typewriter keyboard). The keys are laid out in a 4 × 12 grid with a 2-unit-wide spacebar on the bottom row, for a total of 47 keys. Here's how I set mine up for programming on Unix-like systems. Read more

Restclient.el for Emacs 

The restclient.el package provides a REPL-like interface for HTTP requests, which is particularly useful for exploring REST APIs. It supports variables, evaluation of lisp forms, and pretty-printing of JSON and XML responses. Read more