DEV Community

Cover image for Switching Fully to Neovim
Salajan Silviu
Salajan Silviu

Posted on

Switching Fully to Neovim

A while back, I shared my initial experiments with a minimalist Neovim environment after switching from RubyMine (my previous post). Today, I’m excited to announce that I’ve made the full leap to Neovim. While my new configuration isn’t 100% polished yet, it’s exactly what I need for now—and I’m committed to refining it over time.

The Transition: Why Neovim?

After years of relying on a heavyweight IDE like RubyMine, I found myself craving a leaner, more customizable experience. Neovim offered:

Efficiency: A fast, lightweight editor that allows me to tailor every aspect of my workflow.

Flexibility: The ability to integrate plugins and customizations.

Minimalism: A focus on doing one thing well without the overhead of unnecessary features.

The switch wasn’t just a change of editor; it was a leap forward, reclaiming control over my coding environment.

As I continue to refine my config, I want to document my changes and share them with the community.

My Neovim Configuration

Since making the switch, I’ve built a setup that aligns with my needs. My current configuration includes a carefully selected set of plugins and settings that enhance my workflow without adding unnecessary bloat.

Plugins I Use

  • catppuccin.lua - Aesthetic color scheme

  • completions.lua - Autocompletion support

  • copilot.lua & copilotchat.lua - GitHub Copilot integration

  • diffview.lua - Git diffs in a side-by-side view

  • harpoon.lua - Quick file navigation

  • lsp-config.lua - Language Server Protocol configurations

  • oil.lua - File explorer enhancements

  • telescope.lua - Fuzzy finder for files, symbols, and more

  • treesitter.lua - Better syntax highlighting and parsing

  • undootree.lua - Advanced undo history navigation

  • fugitive.lua - Git integration

  • zenmode.lua - Distraction-free writing mode

This vim options are also a very important part of my plugin.

My configuration was inspired by several great sources, including lazyvim starter, ThePrimeagen’s dotfiles, kickstart.nvim, and Typecraft’s Rails config. These provided a strong foundation that I’ve adapted to fit my workflow.

Additionally, I integrate several CLI tools into my work flow, such as lazygit for streamlined Git operations, yazi as a terminal file manager, tmux for session management, and lazydocker for handling Docker containers efficiently.

What I Love

Speed and Responsiveness: The editor is blazingly fast, even when handling larger projects.

Customization: The ability to fine-tune every aspect of the editor means I can constantly adapt it to my evolving workflow, and I love to do that.

Community Plugins: I’m continually discovering plugins that help fill in gaps and extend Neovim’s capabilities.

Final Thoughts

Switching fully to Neovim has been both a liberating and challenging experience. My new configuration is a work in progress, perfectly tailored for today’s needs, with plenty of room for growth. I hope that by sharing my journey, others might be inspired to take control of their coding environments, too.

I’m excited about what the future holds for this setup—and I invite you to follow along as I refine and improve my Neovim experience.

Top comments (0)