Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

Vim Mastery

There's a reason why, after decades, countless developers still prefer Vim as their code editor of choice. That many people can't be wrong, right? In this series, I'll teach you how to master the most flexible editor on the planet.

Updated Series Available

You are viewing an archived course. We instead recommend that you watch Neovim as a PHP and JavaScript IDE.

Progress

Series Info

Episodes
22
Run Time
2h 37m
Difficulty
Advanced
Last Updated
Mar 18, 2016
Version
Latest

Series Episodes

  1. Episodes (22)
    1. Hello, Vim

      Are you intrigued by all those fancy Vim tricks? Are you considering a switch, but are overwhelmed by the steep learning curve? If so, why don't you come along with me, and I'll show you everything I know about this incredible editor.
    2. Finding Your Way Around

      Let's begin by reviewing the absolute basics. With Vim, how do we save a file, or quit the editor, or edit a new file? How do we set configuration values?
    3. Mappings and Commands

      Let's get back into it. In this lesson, we'll review addition configuration, custom mappings, and auto commands. Don't forget: you won't learn this properly, unless you work along!
    4. Optimizing Window Splits

      A neat feature of Vim is its ability to create any arrangement of split windows. In this episode, you'll learn how this works, and will then move on to configuring their default keybindings, accordingly.
    5. Faster Browsing with CtrlP

      We'll next pull in the popular CtrlP plugin, which allows you to rapidly switch from file to file.
    6. Configuration Tweaks

      Before we move ahead to working with c-tags, let's first make a handful of configuration tweaks. First, we'll fix a conflict between NERDTree and netrw. Next, we'll enable fancy symbols for our Fira Code font. And finally, we'll finish up by improving MacVim's awkward tabs, and switching our Ctrl + P keyboard shortcut over to the more familiar Command + P.
    7. Browse Like a Pro With Ctags

      Imagine that you need to find a particular method in your project. The traditional way is to hunt around the project tree in your sidebar, find the file, click on it, and scroll the page until you find the method. Ehh, we can do way better than that. In this lesson, you'll learn how to instantly browse to any symbol in your project. It's lightning fast!
    8. Custom Highlighting

      We have a theme we like, but what if we need to tweak a few visuals? Let me show you the basic process in this lesson.
    9. Site-Wide Search and Replace

      An immediate pitfall for new Vim users is how to perform site-wide searches and replacements. In this lesson, I'll demonstrate my exact approach - using Ag.vim and Greplace.vim.
    10. Laravel-Specific Mappings

      As you write code in Vim, try to keep a mental record of all the tasks that take longer than you'd like. Even an extra two seconds adds up, trust me. In this lesson, I'll show you a handful of mappings that you might consider, when working in a Laravel app.
    11. Managing Snippets

      When you need to create code snippets in Vim, SnipMate will do the job quite nicely. I'll show you how it works.
    12. Surrounding Text

      Tim Pope's excellent Surround plugin is a stable in every Vim user's tool belt. Need to quickly change single quotes to double quotes? Or do you want to instantly delete a surrounding HTML tag, or update it to a new one all together? With this plugin, it's all a cinch.
    13. PHP Optimizations

      In this episode, we'll focus on three different PHP optimizations. We'll begin by updating our syntax file. Next, we'll add support for automatically adding use imports to any class. Finally, we'll add a mapping that allows us to instantly sort use statements by length.
    14. Auto-Completions

      We've yet to figure out how to handle auto-completion. As such, in this episode, we'll take a first step. The goal is to type a sequence of characters, hit "tab", and then see all relevant results from nearby buffers. As always though, throughout the video, we'll discuss a number of other helpful Vim tricks.
    15. Automatic PSR-2 Formatting

      Let's set up php-cs-fixer, so that we may type a simple keystroke and instantly format any PHP class, according to the PSR-2 convention.
    16. Marks

      Vim marks offer you a way to instantly return to any location in your project, simply by typing a keystroke. I think you'll like it!
    17. Tabs, Indents, and Spaces

      Unfortunately, when it comes to managing tabs, indents, and spacing, well - Vim can get pretty confusing. That's okay; learn how to configure them once, and then feel free to expel all this junk from your brain.
    18. Fun With Macros

      A macro is nothing more than a recording that can be played back at any time. An excellent candidate for a macro is any piece of workflow that you find yourself repeating over and over. As an example, in this video, we'll record a macro to take a constructor argument, and then automatically initialize and assign it, as a property.

Continue Learning