I recently switched my default editor to LazyVim after years of using PhpStorm and VSCode. I want to share my experience in a blog post, detailing the reasons behind this change and the benefits I've found.
Initially, I used the Vim plugin in both PhpStorm and VSCode to leverage the productivity benefits of Vim keybindings. However, I hesitated to fully transition to Vim or Neovim, fearing the time it would take to configure them properly. Despite having a powerful MacBook Pro with an i9 processor and 32GB of RAM, PhpStorm became increasingly slow, especially when indexing medium to large projects. This often resulted in several minutes of downtime before I could work efficiently again. The RAM usage of PhpStorm was also higher than I preferred.
VSCode seemed to address some of these performance issues due to its lighter footprint. I appreciated features like VSCode dev containers, which enhanced productivity. However, I found VSCode less intuitive, despite trying various blog posts and YouTube videos to optimize my setup. Additionally, neither PhpStorm nor VSCode could efficiently handle very large files, such as multi-GB SQL dumps, without significant delays.
Vim, on the other hand, opened large files quickly and made changes feel almost instantaneous, regardless of file size. As someone who has been coding for nearly ten years, I prefer to minimize mouse usage. Getting used to keybindings has made my workflow faster, kept my mind focused on tasks, and reduced physical strain on my shoulders.
After going back and forth between PhpStorm, VSCode, and (N)Vim, I discovered LazyVim. I hadn't heard of the Lazy package manager before, but it made Vim feel as user-friendly as other modern editors. LazyVim comes with sensible and productive plugins and keybindings out of the box. I particularly love the which-key plugin, which provides on-the-fly help without disrupting my workflow. It also includes an integrated terminal and Lazygit, making version control a breeze. Currently, I use LazyVim for Symfony and Pimcore projects, with additional plugins like Intelephense and Twig language support.
LazyVim has for now completely replaced PhpStorm and VSCode in my daily work, and I am looking to get even more productive using it. Have you had any experiences using LazyVim? I'd love to hear your thoughts and tips!