Learn shortcuts. Work faster.

Introduction to NeoVim

The Evolution of Vi

Vi was first released over 40 years ago. Since that time, it has been used by countless of people, quickly becoming the de facto standard Unix editor. Then, in 1991, Vim (Vi Improved) was released. Vim improved upon the ideas established by Vi, offering a slew of new features and tools.

Then, two years ago, the next evolutionary step of Vi began. NeoVim began as a fork of Vim but is quickly establishing itself as a separate entity. Most of the original codebase has been gutted, cleaned up, and rewritten. Even though the NeoVim effort only began two years ago, it already boasts impressive features and innovative ideas. Some are even heralding NeoVim as the future of Vim itself.

Facebook Flow Tutorial


Flow is an open-source static type checker for Javascript, built by Facebook.

Flow’s goal is to reduce the number of unhelpful “Syntax error” and “undefined is not a function” messages by catching mismatched types before you run them in a browser (or anywhere else).

You run Flow through the command line, pointing it at a particular directory. Flow looks through Javascript files and sees if the different types would cause a problem. For example, if you tried to multiply a number and string together, Flow would find that.

Awk by Example

This post is part of a multi-part series. While each of these posts was designed to be self-contained, you might be interested in reading about Grep and Sed, the other two tools covered previously.

Of the three utilities that we’re exploring, Awk is by far the most powerful and complicated of the bunch. Rather than attempting to document every facet of this tool, we’ll be examining a handful of examples, hopefully piquing your curiosity in the process.

Sed by Example

We are in the middle of a multipart series. Each post focuses on one member of the command-line text-processing trifecta: Grep, Sed and Awk. In part 1, we introduced Grep, which allowed us to search and select text. Now, we will explore Sed.

Grep by Example

Regardless of what flavor of Unix, Linux or BSD you use, you can generally count on Grep, Sed and Awk’s availability. These command line utilities provide different ways of searching and manipulating text. Understanding how to use these powerful tools will greatly enhance your command line effectiveness and productivity.

Affinity Designer Pen and Node Tools Tutorial

As with any vector art program, you need to be comfortable with creating and manipulating Bézier curves. In Affinity Designer, the pen and node tools are the way to do that.

Understanding Bezier Curves

Bézier curves are used in vector art programs like Affinity Designer and Adobe Illustrator to model smooth curves.

The basic idea is that you can describe any curve using four points in space:

  • the starting point
  • the end point
  • the control point for the starting point
  • the control poing for the ending point

Sketch Measure Plugin Tutorial

By itself, Sketch does a good job of showing measurements when you’re moving or resizing a layer, but if you want to know your measurements without moving anything, the Measure plugin is a great tool.

Sublime Text 3 Plugins for Web Developers

The right suite of plugins can make your time in any app far more productive. If you’re a web developer working on Sublime Text 3, we strongly recommend taking a close look at these plugins.

  • Package Control
  • HTMLPrettify
  • Emmet
  • Bracket Highlighter
  • jQuery
  • Case Conversion

Vim Movements Part II

If you haven’t read Part I yet, you’ll probably want to do that first.

Welcome back! Buckle your seat belts and hold on to your hats; we’re about to blast through a lot of information.

Words! Words! Words!

Vim provides a total of eight different ways of navigating by word:

  • w – Moves the cursor to the beginning of the next word
  • W – Moves the cursor to the beginning of the next word (using spaces)
  • e – Moves the cursor to the end of the next word
  • E – Moves the cursor to the end of the next word (using spaces)
  • b – Moves the cursor to the beginning of the previous word
  • B – Moves the cursor to the beginning of the previous word (using spaces)
  • ge – Moves the cursor to the end of the previous word
  • gE – Moves the cursor to the end of the previous word (using spaces)

It might help to remember “w” for word, “e” for end and “b” for back. The major difference between the lower and uppercase word movements is how they deal with delimiters. Lowercase word movements stop at punctuation while capital word movements only stop at white space.