Clojure Development in Spacemacs

I’ve recently been doing some basic Clojure development, and it’s been a huge blast. I’ve played around with it in the past, but never bothered to fully set up a development environment. This time, however, I decided to spend a few evenings perfecting my workflow and becoming familiar with the tools available, focusing on my editor of choice: Spacemacs.
Read more on Clojure Development in Spacemacs…

Everyday Vim – A Basic Vim Commands Cheat Sheet

Vim is a pretty great text editor, but learning to use it effectively can be a challenge. Even if you keep a quick-reference card or cheatsheet around, it can be difficult to figure out which commands are the most useful. But the truth is, Vim can still be super helpful if all you know is a few commands. So I’ve compiled a few of the Vim commands that I use every day. Read more on Everyday Vim – A Basic Vim Commands Cheat Sheet…

Mislav’s Handy “Terminal Control Sequences” Cheat Sheet

Mislav Marohnić recently posted a great little cheat sheet describing almost every control key combination across the shell, vim, and process control.

One interesting thing I learned from Mislav’s cheat sheet is about the delayed suspend feature of process control. I’d never heard of this before. I did some searching around and found (via some beginner’s guides) that it is similar to immediately suspending a process (via C-Z), but does not suspend it until it tries to read from input. One of the guides says:

Read more on Mislav’s Handy “Terminal Control Sequences” Cheat Sheet…

An Introduction to Scripting Tmux Key Bindings

Tmux is a powerful terminal multiplexer, and its built-in support for scripting allows you to create new features according to your own workflow.

I spend most of my day in Tmux, at the command line, grepping through codebases and editing files with Vim. I copied and pasted or re-typed file names for a long time before I realized how irritated I was that I couldn’t merely click on a file name and immediately open that file to the given line.

An IDE would have that functionality, and being firmly in the camp of command line as IDE, I set out to right this wrong.

Read more on An Introduction to Scripting Tmux Key Bindings…

Emacs or Vim? Get the Best of Both with Evil

I am an avid Emacs enthusiast in a company full of Vim users. In fact so many people I work with like to use Vim that they even created a company wide Vim config for everyone to use. This has presented a problem to me: Emacs or Vim? On the one hand, I absolutely love Emacs and have invested significant time into customizing it to work exactly the way I want. But on the other hand, I want to be on board with the tools everyone I work with is using.

Is the solution here to just accept the fact that Vim is an excellent text editor too, and adopt it for my work? No way!

The Evil Solution

Instead, I decided to just to port Atomic’s Vim config into Emacs and use both editors at the same time. Fortunately for me, someone has already done most of the work for me by creating Evil, the Extensible vi layer for Emacs.

Read more on Emacs or Vim? Get the Best of Both with Evil…

Extending Sublime Text… Now for Vim Lovers Too!

Sublime Text has continued to gain a lot of traction as a very powerful and extensible editor. Its excellent plugin API and large base of contributors has been a major factor in its success.

Though I have been, and still am, a fan of Vim, it falls short when it comes to plugins and extensibility. But when I found that Sublime Text shipped with a Vi mode, I was very curious…

Read more on Extending Sublime Text… Now for Vim Lovers Too!…

Learn Vim with Spaced Repetition

Last fall I started using Vim as my full-time text editor. Around that same time I came across a fascinating article from Wired titled Want to Remember Everything You’ll Ever Learn? Surrender to This Algorithm. The article is about Piotr Wozniak and the spaced repetition algorithm he developed called SuperMemo.

SuperMemo is based on the insight that there is an ideal moment to practice what you’ve learned. Practice too soon and you waste your time. Practice too late and you’ve forgotten the material and have to relearn it. The right time to practice is just at the moment you’re about to forget.

Read more on Learn Vim with Spaced Repetition…

Highlight Strings in Cucumber Features with Vim

I am currently working on a project that is using Cucumber for its system/integration testing, and I am using MacVim as my primary editor. MacVim comes with Tim Pope’s excellent vim-cucumber plugin pre-installed, so you get syntax highlighting of .feature files right out of the box.

After having used TextMate to edit Cucumber features in the past I was a bit disappointed that double-quoted strings were not being highlighted in Vim. I looked around in the plugin code a bit, and the best I can tell it is only configured to highlight multi-line strings (which are triple-quoted).

Read more on Highlight Strings in Cucumber Features with Vim…