Way back in 2011, I wrote a blog post showing how to Run Tests from MacVim via Terminal.app or iTerm.app. I’ve been using that setup for years without a problem, but when iTerm2 Version 3 was released, it stopped working. I’ve updated the AppleScript and am posting it here for anyone who wants to run tests in iTerm2 (Version 3) while writing code in Vim.
Stroll around our Grand Rapids office, and you’ll find some unique input methods. Curved, split, and mechanical keyboards, mice shaped like everything from sashimi to joysticks, giant trackpads, drawing tablets, Echo Dots, and Yetis. We like to keep things interesting when it comes to our workspaces.
For the last hundred days, I’ve been kicking around a centuries-old input method in a new context. Here’s how you can set up your own Vim clutch.
Read more on Code Like a Craftsman with a Vim Clutch…
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…
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…
Years of using the testing framework RSpec has spoiled me. Because you can pass a filename and line number to the RSpec command and it will run only that test, it’s trivial to set up a Vim key binding that runs the test under the cursor. For example,
Vim macros let us transform code like no other editor. Here’s how they work:
- Pick a register to record into. (A Vim register is like a little slot where the macro data will be stored. We usually want to record into one of the named
a-zlowercase letter registers.)
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:
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.
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.
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…