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.
Modern Vim: Craft Your Development Environment with Vim 8 and Neovim
by Drew Neil
About this Title
Pages: 190 (est)
Release: B2.0 (2017-12-04)
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 more than 30 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.
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
This book is currently in beta, so the contents and extracts will change as the book is developed.
- 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
- Installing Vim 8
- Switching to Neovim
- Enabling Python Support in Neovim
- Install 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
- Running a Build and Navigating Failures
- Switching Compilers
- Linting the Current File
- Searching Files with Grep-Alikes
- Running Tests and Browsing Failures
- Neovim’s Built-in Terminal Emulator extract
- 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
- Saving and Restoring Sessions
- Making Undo Persist Between Sessions
- Restarting Terminal Processes When Resuming a Session
- Configure Vim
- What’s Next for Modern Vim?
- Roadmap for Vim 8
- Roadmap for Neovim
Drew Neil is a programmer, trainer, and entrepreneur. He runs Studio Nelstrom, which specializes in making educational screencasts. At vimcasts.org he publishes articles and video tutorials about Vim.