DEV Community

Cover image for Switching Fully to Neovim
Salajan Silviu
Salajan Silviu

Posted on

4 2 1 1 1

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.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more