small medium large xlarge

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


Cover image for Modern Vim

Modern Vim

Craft Your Development Environment with Vim 8 and Neovim


Turn Vim into a full-blown development environment using Vim 8’s new features and this sequel to the beloved bestseller Practical Vim. Integrate your editor with tools for building, testing, linting, indexing, and searching your codebase. Discover the future of Vim with Neovim: a fork of Vim that includes a built-in terminal emulator that will transform your workflow. Whether you choose to switch to Neovim or stick with Vim 8, you’ll be a better developer.

Customer Reviews

I’m once again impressed by the limitless possibilities of this classic editor. It goes
without saying that I would—and will—recommend Modern Vim to anyone using
Vim, including admins, developers, and Linux enthusiasts.

- Tibor Simic

Software Developer, Ingemark

With Practical Vim I am able to move around my text like a kangaroo. Modern Vim puts a Swiss Army knife into my pouch.

- Miroslav Šedivý

Software Architect, UBIMET GmbH

Even as an experienced Vim user and plugin author, I learned a lot with this book.

- Kassio Borges

Senior Software Engineer, author of the Neoterm plugin, Zendesk

If you’re curious as to what’s new in Vim 8 and Neovim, or looking to extend
the collection of great recipes started in Practical Vim, this book is an excellent

- Eric Casteleijn

Vim Enthusiast

See All Reviews

Choose Your Format(s)

  • $19.95 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

You’ll need a Unix-based environment and an up-to-date release of Vim (8.0 or newer). For the tips about running a terminal emulator, you’ll need to install Neovim.

Contents & Extracts

  • Acknowledgments
  • Introduction
    • How This Book Is Structured
    • A Note on Vim Versions
    • Other Software Requirements
    • Notation for Simulating Vim on the Page
    • Minimal Configuration
    • Using Factory Settings
    • Downloading the Examples
  • Get Modern Vim
    • Upgrade to Vim 8
    • Switch to Neovim
    • Use Both
    • Switching to Neovim
    • Enabling Python Support in Neovim
  • Installing Plugins
    • Understanding Scripts, Plugins, and Packages
    • Installing Plugins to Your Package
    • Managing Plugins with minpac
    • Opening Files
    • Finding Files Using Fuzzy Path Matching
    • Finding Files Semantically
    • Jumping to an Alternate File
  • Working with the Quickfix List
  • Neovim’s Built-In Terminal Emulator extract
    • Use Normal Mode Commands to Interact with the Shell
    • Use Neovim as a Window Manager
    • Control Processes Remotely with Vim Script
    • Grokking Terminal Mode
    • Running Programs in a Terminal Buffer
    • Managing Windows That Contain Terminal Buffers
    • Using Normal Mode Commands in a Terminal Buffer
    • Sending Commands to a Terminal Buffer
    • Applying Customizations to Your Shell in a Terminal Buffer
    • Avoiding Nested Neovim Instances
    • Using an Existing nvim Instance as the Preferred Editor
  • Sessions
    • Make Restarting Vim Frictionless
    • Make Switching Projects Frictionless
    • Saving and Restoring Sessions
    • Making Undo Persist Between Sessions
    • Restarting Terminal Processes When Resuming a Session
  • Configuring Vim
    • Using Autocommands to Respond to Events
    • Respecting Project Conventions
    • Setting Buffer-Local Configuration Per Project
  • What’s Next for Modern Vim?
    • Integrating with the Language Server Protocol
    • What’s Next for Vim 8
    • What’s Next for Neovim


Drew Neil is a programmer, trainer, and entrepreneur. He runs Studio Nelstrom, which specializes in making educational screencasts. At he publishes articles and video tutorials about Vim.