small medium large xlarge

Modern Vim: Craft Your Development Environment with Vim 8 and Neovim, in print; May PragPub Magazine now available

May 02, 2018

Tip #22 in The Pragmatic Programmer suggests you should Use a Single Editor Well: "Choose an editor, know it thoroughly, and use it for all editing tasks. If you use a single editor (or set of keybindings) across all text editing activities, you don’t have to stop and think to accomplish text manipulation: the necessary keystrokes will be a reflex. The editor will be an extension of your hand; the keys will sing as they slice their way through text and thought. That’s our goal."

Vim 8 and Neovim are super editors that support plugins and IDE-like features. Get to know them today and enjoy spectacular speed and efficiency. Get yourself a copy of Modern Vim: Craft Your Development Environment with Vim 8 and Neovim, now in print and shipping from

And don't forget to check out this month's PragPub magazine!


Modern Vim: Craft Your Development Environment with Vim 8 and Neovim

A serious tool for programmers and web developers, no other text editor comes close to Vim for speed and efficiency. Make Vim the centerpiece of a Unix-based IDE as you discover new ways to work with Vim 8 and Neovim in 28 hands-on tips.

Execute tasks asynchronously, allowing you to continue in Vim while linting, grepping, building a project, or running a test suite. Install plugins to be loaded on startup—or on-demand when you need them—with Vim 8’s new package support. Save and restore sessions, enabling you to quit Vim and restart again while preserving your window layout and undo history. Use Neovim as a drop-in replacement for Vim—it supports all of the features Vim 8 offers and more, including an integrated terminal that lets you quickly perform interactive commands. And if you enjoy using tmux and Vim together, you'll love Neovim's terminal emulator, which lets you run an interactive shell in a buffer. The terminal buffers fit naturally with Vim's split windows, and you can use Normal mode commands to scroll, search, copy, and paste. On top of all that: Neovim's terminal buffers are scriptable.

With Vim at the core of your development environment, you'll become a faster and more efficient developer.

Now in print and shipping from

May PragPub Magazine

Is it possible to recapture that feeling of surprise you felt when you first started programming? Maybe it was a heady sense of world-building. Or simple delight at seeing commands you typed generate crazy patterns you’d never imagined on your screen. Or maybe it was just the jolt of that initial realization that, here in this one place at least, your words had power.

Those early days of learning to program were frustrating, they were empowering, they were fun, and most of all, they were surprising. Because you were learning something truly new, and having novel experiences. But now you’re an old hand at programming, and its mysteries are solved, and you can’t really feel that initial surprise any more, can you?

Yes, Russ Olsen says, you can. In his “Technically Awake” column this month he writes about how he rediscovered that feeling of surprise in programming, and how you can, too.

Daniel Steinberg teaches people how to write apps for iOS, and he sees, again and again, that surprise and delight the first time a student installs an app that they wrote on their device, right there alongside Safari and Maps and all of the other “real” apps.

We all still want Mom to put that thing we did up on the fridge. That sense of accomplishment, of creating something and having it recognized, is motivating. It’s how we should teach programming. That, Daniel says in this month’s Soapbox, is a lesson Apple needs to learn.

If you’re looking for a new language to learn, one that will offer a challenge to your thinking and a few surprises, you might take a look at Elixir. We are, and we expect to publish some explorations into the world of Elixir this year. This month, in fact, Desmond Bowe helps out with that shift in mindset that a new paradigm requires, in an article on the mistakes Rails developers make when they bring Rails thinking to Elixir programming.

Paul Butcher has been doing something similar in his series on Clojure for full-stack development, which wraps up this month. The final installment is about building mobile apps in Clojure, and includes links to the previous articles.

Also this month: Michael Nygard explains why data is the new oil, Marcus Blankenship explains how to get people to offer suggestions, Antonio Cangiano has all the new tech books, and John Shade has something surprisingly positive to say about Facebook.

We hope you enjoy the May PragPub!

Now available from

Upcoming Author Appearances

  • 2018-05-02 Colin Jones,
    deliver:Agile, Austin, TX
  • 2018-05-04 Ryan Ripley,
    Agile Day Maine – Portland, Maine
  • 2018-05-04 Diana Larsen,
    Agile Maine Day 2018, Portland, ME
  • 2018-05-07 Brian MacDonald,
    Write the Docs, Portland OR
  • 2018-05-08 Michael Keeling,
    SATURN 2018 in Dallas, TX
  • 2018-05-09 VM Brasseur,
    PyCon US, Cleveland, OH
  • 2018-05-09 Michael Keeling,
    SATURN 2018 in Dallas, TX
  • 2018-05-16 Richard Whaling,
    Scala Days Berlin
  • 2018-05-18 Chris Strom,
  • 2018-05-22 Diana Larsen,
    Mile High Agile 2018, Denver, CO
  • 2018-05-23 Michael Keeling,
    XP 2018 in Porto, Portugal
  • 2018-05-24 Michael Keeling,
    XP 2018 in Porto, Portugal
  • 2018-06-04 Ryan Ripley,
    Agile Dev West 2018 – Las Vegas, NV
  • 2018-06-04 Ryan Ripley,
    Agile Dev West 2018 – Las Vegas, NV
  • 2018-06-06 VM Brasseur,
    OpenWest, Sandy, UT
  • 2018-06-07 Johanna Rothman,
    Influential Agile Leader, Boston
  • 2018-06-07 VM Brasseur,
    OpenWest, Sandy, UT
  • 2018-06-12 Jeremy Fairbank,
    Fluent Conf, San Jose, CA
  • 2018-06-13 Diana Larsen,
    Perfecting Practice Adoption with Agile Fluency™ Model – an Agile Fluency game workshop, Louisville, KY
  • 2018-06-15 Diana Larsen,
    Derby City Agile, Louisville, KY
  • 2018-06-17 VM Brasseur,
    The Perl Conference, Salt Lake City, UT
  • 2018-06-20 Richard Whaling,
    Scala Days New York
  • You Could Be a Published Author

    Is there a tech topic you are deeply passionate about and want to share with the rest of us? You could become a published Pragmatic Bookshelf author! Take a look at our page for details, including our 50% royalty (yes, for real!) and world-class development editors.

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: pragprog</a>, <a href="">pragpub, Andy Hunt @PragmaticAndy.

    Coming Soon:

    • Getting Clojure: Build Your Functional Skills One Idea at a Time, in print
    • Programming Phoenix ≥ 1.4: Productive |> Reliable |> Fast, in beta
    • Programming Elixir ≥ 1.6: Functional |> Concurrent |> Pragmatic |> Fun, in print
    • Build Reactive Websites with RxJS: Master Observables and Wrangle Events, in beta
    • Programming Ecto: Build Database Apps in Elixir for Scalability and Performance, in beta

    Recently Released:

    Thanks for your continued support,

    Andy Hunt
    Publisher, Pragmatic Bookshelf

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts