Neovim as a PHP and JavaScript IDE
Neovim is a modern fork of Vim, an incredibly popular modal text editor. Modal editing unlocks more efficient ways of moving around and editing text and is especially suited to code.
Neovim is a general-purpose text editor out of the box, but in this course we’ll learn how to harness the best of both worlds and turn it into a powerful PHP and JavaScript IDE.
Why Neovim?
Before we begin from scratch, let’s kick things off with a demonstration of my fully-configured setup. I’ll show you why I love Vim and Neovim, and what you’ll achieve from this course. I’ll also explain why I chose Neovim over Vim.
Modal Editing and Moving Around
Let’s start with the fundamentals of Neovim so we can use it while configuring our setup. If you’ve already used Neovim or Vim, then this might be familiar, but I still hope to teach you a thing or two.
Managing Files with Buffers
File management in Vim and Neovim is a little different from most editors you might have used in the past. Let’s learn about buffers and a few other Vim concepts for managing our open files.
Motions, Commands, and Text Objects
The combination of text objects, motions, and commands is one of the most foundational concepts you need to understand about Neovim. Let’s have a look.
Dotfiles
Let’s set up a dotfiles repository so we can centrally manage our configuration files and share them between computers and other people.
Configuring your Terminal for Neovim
Neovim is a terminal application, so your terminal plays a key role in your Neovim experience. Let’s go through a few settings that will apply regardless of which terminal you use.
Tmux
Tmux is a “terminal multiplexer,” which is a fancy way of saying that it can run multiple terminal sessions in one terminal. Let’s learn the basics and see how we can use it to manage working on multiple projects.
Configuring Neovim with Lua
Neovim can be configured using Vimscript or Lua, so let’s talk about the benefits of Lua and how to structure your configuration.
Neovim Settings
Neovim ships with a variety of sensible defaults, but there are a handful of settings that can and will improve your development experience. Let’s have a look at a few in this lesson.
Key Mapping
Let’s look at how we can map keys to make our workflow faster, and even improve a few little annoyances.
Using Plugins
Plugins unlock a whole new world of functionality, particularly for developers. Let’s look at how to install them in this lesson.
Essential Plugins
There are a handful of plugins that are so useful to the point that they should probably be built-in. Let’s go over a few of my favorites.
Color Schemes
Neovim ships with a handful of color schemes, but the best ones come from plugins. Let’s look at how we can install and configure a color scheme.
Improved File Navigation
Next up, let’s add a file tree sidebar and a fuzzy searcher to get around our projects in a flash.
Improving the UI
Neovim can look fairly basic out of the box. Let’s fix that by reviewing some practical and beautiful UI improvements.
Git Integration
In this episode, we’ll add Git integration to Neovim to show us which lines we’ve changed, easily stage our changes, and see who else has been contributing code.
Terminals Inside Neovim
When developing software, it is often useful to have a terminal at your finger tips. Let’s explore Neovim’s built-in terminal, and then review a potential alternative.
Tree-sitter
Tree-sitter is a standalone code parser that’s perfect for providing text editors with a deeper understanding of the code we’re writing.
Language Server Protocol (LSP)
The Language Server Protocol is an open standard created by Microsoft, originally for VS Code. It separates the “intellisense” logic from the text editor, and allows us to use many VS Code features.
Autocompletion
Now that have some language servers configured, let’s use them to reduce the number of characters we need to type, and help reduce typos.
Linting and Formatting
Code linters and formatters are helpful for reducing errors and increasing consistency. In this lesson, we’ll look at how we can integrate some popular tools into Neovim.
Snippets
Of course, like any code editor, we can add support for code snippets in Neovim. This will allow you to avoid unnecessarily typing boilerplate code.
Phpactor
Phpactor is a standalone PHP refactoring tool that offers a first-party Vim plugin. Let’s learn how it can save us time.
Projectionist
Projectionist allows us to leverage our project structure to quickly switch between related files and more. In this lesson, I’ll show you step by step how to get started with it.
Running Tests
Let’s next review how we can run individual tests faster than the speed of thought!
Find and Replace
Let’s learn how the typical “find and replace” operation works in Neovim, and how we can apply it to an entire project.
Automating Repetitive Changes
Next up, we’ll learn some shortcuts for working with numbers, and then we’ll review how we can record a repetitive task a single time and then play it back later.
Vim is My Lightsaber
The time has come. We must sadly wrap things up for this series. I’ll leave you with some final thoughts and resources for further learning.
User Reviews
Be the first to review “Neovim as a PHP and JavaScript IDE”
You must be logged in to post a review.
There are no reviews yet.