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)