(Neo)Vim Makes You a 10x DEV, and I'm not Kidding
Shrijal Acharya

Shrijal Acharya @shricodev

About: Full Stack SDE • Open-Source Contributor • Collaborator @Oppia • Mail for collaboration

Location:
Kathmandu, Nepal
Joined:
Jul 26, 2023

(Neo)Vim Makes You a 10x DEV, and I'm not Kidding

Publish Date: Feb 10
135 46

WOAH, that's a bold statement 🤨

Wait, I'll explain...

So you've clicked on the post, which likely means you are from other code editor families (VS Code, Cursor, and whatnot).

Now that I am a Neovim user, I simply cannot stand GUI IDEs. I can relate to this video by Nir Lichtman more and more as I am in the VIM workflow.

This is by no means to say that anyone who uses GUI editors is not an efficient developer. DON'T GET IT WRONG!!

First, let me share my story before sharing anything else.

My VIM journey starts

When starting to code, everyone suggests using VS Code, so I started using it and that was my preferred choice of editor as well.

But after using it for 4 whole years, I started to get sick of it. Everyone suggests thousands of different extensions for one single niche in programming.

And I fell into the trap of installing most of the recommended plugins which I didn't even use ever. It was just sitting there in because it was so-called recommended extensions, and also you feel a bit of guilt to remove recommended things, right? 🫤 so they were just there.

One day, out of nowhere, this video from typecraft, got recommended in my YouTube feed.

I was so tempted to check out what VIM really is. Before this, I never used VIM because once, when I entered VIM accidentally, I had to spend quite some time figuring out just how to close it 🫤, so didn't even have a thought of using it. So, for any terminal work that required using an editor, I used nano.

So, I finally decided to take a look into what all this hype for VIM in developers was really about.

To my surprise, I was really hooked on the VIM ecosystem in no time. Then I did all the LSP configuration, autoformatting, fuzzy finding, and more, which you get pre-built in other GUI IDEs. I loved manually configuring everything down to the minutest details to my preferences.

I got to know how all of this works behind the scenes, and I already knew VIM was my thing.

Then, it was time to learn some VIM motions, so I started learning VIM motions from YouTube. After watching quite a few videos on VIM motions, it didn’t really feel like I knew VIM motions and everything else in VIM more than the basics.

So, that led me to read this fantastic book "Practical Vim" by Drew Neil.

Practical Vim Cover Page

This book introduced me to the soul of VIM. I’m never a book-reading guy, but I read this 356-page book that just talks about VIM. 😴

From this, as you can imagine, I am already quite into the VIM ecosystem and have no thoughts of going back to any other IDEs, at least for now.

What Next?

When I started learning VIM, I thought learning VIM was just learning VIM, but I was completely wrong!

It introduces you to the whole ecosystem of developer tools. After entering this terminal ecosystem of editors, I learned quite a few other developer tools like tmux, stow, window managers like i3, and overall, the importance of understanding things by reading and doing rather than watching some YouTube videos and learning.

Using VIM and entering this complete terminal ecosystem actually convinced me to completely switch from Windows with WSL2 to a full-time Linux user with Arch.

Mind Blown GIF

For me, it was Arch, for you, it might be something else, but you will find reasons for transitioning into Linux.

Along the way, I got to know some of the OGs like ThePrimeagen, TjDevries .... the Mario and Luigi of the Neovim cult.

Primeagen and Tj Devries

How exactly a 10x DEV?

The phrase 10x dev sounds a bit weird, but to me, a 10x dev is really just a super-efficient DEV. And let me tell you, VIM is like the cheat code to becoming one.

After using VIM for quite some time now, it feels great to say that I don’t even have a GUI editor installed on my machine. It’s just me, my terminal, and VIM. And honestly, I’ve never been more productive.

Here’s the thing: VIM forces you to think differently. It’s not just about typing code, it’s about editing text efficiently. Once you get the hang of VIM motions, you start to realize how much time you’ve been wasting with your mouse or arrow keys. You start to think in terms of actions and movements. Want to delete a word? dw. Delete a line? dd. Need to jump to the end of the file? G. It’s that simple.

And the best part? VIM is everywhere. Once you’re comfortable with it, you can SSH into any server, open any file, and feel right at home. No need to install a bulky IDE or configure a million plugins. It’s just VIM, and it’s always there.

Typing GIF

So, is VIM the secret to becoming a 10x dev? Maybe. But more importantly, it’s about adopting a mindset of efficiency. VIM is just the tool that helps you get there.

And hey, if nothing else, at least you can say I use VIM, BTW! 😂


Wrap!

So, there you have it! This is my journey from being a GUI-loving dev who cared more about the aesthetics of the editor to becoming a terminal-obsessed VIM fellow.

If you are still on the thoughts of giving VIM a try? I say go for it.

You will definitely feel the power that comes with staying in the terminal overall.

Comments 46 total

  • Aayush Pokharel
    Aayush PokharelFeb 10, 2025

    Great one sathi. 😍🥰

  • Aavash Parajuli
    Aavash ParajuliFeb 10, 2025

    I can 100% agree on this. I did not go for this book, I used the nvim default help pages.

    :h help.txt
    
    Enter fullscreen mode Exit fullscreen mode
    • Shrijal Acharya
      Shrijal AcharyaFeb 10, 2025

      Yeah, I fully agree with this. I feel that when I was starting out, I did look at the help pages, but not thoroughly.

    • Debajyati Dey
      Debajyati DeyFeb 12, 2025

      totally agree. The help command is a game changer.

  • Anmol Baranwal
    Anmol BaranwalFeb 10, 2025

    As you said, it's more about a mindset of efficiency (at least I feel the same). Great write up Shrijal. 👏

    • Shrijal Acharya
      Shrijal AcharyaFeb 10, 2025

      Thank you, @anmolbaranwal, buddy. ✌️ Yeah, it's the mindset that makes the difference. For me, with VIM, everything is at my fingertips, and there is no friction in the workflow.

    • Lara Stewart - DevOps Cloud Engineer
      Lara Stewart - DevOps Cloud EngineerFeb 10, 2025

      Yes, I feel the same. It could be VIM where you are efficient, or it could be any other IDE like JetBrains or VS Code. But at least you should give VIM a try.

      I am thinking of learning VIM myself. I plan to start by having the VIM plugin installed in VS Code.

      • Shrijal Acharya
        Shrijal AcharyaFeb 11, 2025

        Starting out with the VIM plugin installed is a great way to begin.

        • Debajyati Dey
          Debajyati DeyFeb 11, 2025

          Maybe, but I don't agree.

          As far as I listened from others' experiences, the vim extension only gives a crap experience.
          I know jumping straight into Vim can feel notoriously dangerous but hey, trust me! This is the best possible way.

          Let me explain, why, I have, such a strong opinion.

          • You can't simply "half do" Vim. You can't! By mixing VS Code's GUI way and Vim's modal editing will lead you to the drawbacks of both systems and the advantages of neither.
          • You will see yourself struggling to consistently use the Neovim extension, constantly switching back to familiar VS Code shortcuts. This back-and-forth will hinder your productivity and learning, ultimately preventing you from truly grasping Neovim.
          • Your reliance on VS Code's familiar shortcuts and mouse usage will prevent you from breaking those habits and embracing Vim's unique workflow. You remain trapped in your old coding style, never giving Vim/Neovim a fair chance.
          • Using Vim commands in VS Code is not a real solution. It creates a false sense of familiarity while masking the fundamental differences between the two environments. While you initially attempt to use the Vim extension, you will likely gain a superficial understanding of Vim commands and the actual Neovim workflow. However, this didn't translate to actual Vim proficiency because the underlying environment and workflow were still VS Code-centric.

          To truly learn Vim, you need to commit to it fully, outside the familiar environment of VS Code.

          Now the obvious obstacle ahead is your current ongoing work. You have a job. You are working on something. You can't just directly jump on a completely alien environment and get your job done, in time, being productive, without having knowledge and prior experience of that environment. And that's okay.

          Take your time. Try vimming in a different workspace. Mayybe something like a hobby project? Which you have plenty of time to spend on? Why not share the time on coding while learning vim by writing code on vim?

          Or maybe you would learn to be proficient in basics (of modal editing) first.

          The thing is for getting used to with the basics of vim(just the basic writing, editing, saving and exiting), imo it's actually better if you start using it as a notepad replacement if you are currently running Windows.

          Why? Because it is a much simpler, easy approach. It's like breaking your big problem into smaller parts, a relatively more doable way. You start using vim as your secondary note taking app. Then slowly the keybinds, the commands and the whole workflow makes a permanent place in your muscle memory. That ubiquitous text editor, will eventually go ranks higher becoming your go to quick note tool, and then someday your universal text editor.

          Learning vim is a journey. It takes time. It also needs a great starting in the proper way if you don't want getting lost somewhere in a jungle of conflicting hybrid environment, messed up.

          That being said, Vim or if more accurately said Neovim is inherently universal. Neovim is faster than vim. It takes less startup time to open than vim and you can use it for basic one line config file edits to coding a large software project, efficiently. It's so unique, it needs to be done in it's own way.

          And for getting the modern features like autocomplete, copilots, formatters, there are lots of plugins available in the ecosystem. The most beginner friendly way will be adopting a preconfigured distribution like LazyVim, Kickstart.nvim etc. to get started without initial config build up overhead.

          This how you slowly & ultimately become one of them. The OG martian vimmers!

          This is what I understand. What do you think?

          Real world people experience 1

          Real world people experience 2

          • Shrijal Acharya
            Shrijal AcharyaFeb 11, 2025

            @ddebajyati You hold a point. The thing is, if you plan on using the VIM plugin in any GUI IDE, just use it until you’re comfortable with the basic VIM motions, I'd say. Most folks never try VIM because of their fear of the terminal, TBH. At least with the plugin, you can experience what surface-level VIM is like.

            If I were to recommend someone to start with VIM, I’d suggest going with raw (Neo)Vim for sure.

            • Debajyati Dey
              Debajyati DeyFeb 11, 2025

              Yeah kinda true. People are scared of the terminal.😂

              For me it was really exciting and interesting because it felt like I am some cool hacker! 😂

              • Shrijal Acharya
                Shrijal AcharyaFeb 12, 2025

                So true. Even more, if you have that green looking font for your terminal. 😆

  • Kevin Naidoo
    Kevin NaidooFeb 10, 2025

    Nice read! For eager beavers 😊 try "LazyVim". It'll install all the IDE features you need for most languages.

    I still use VScode, but Neovim is also very productive especially since I am big on Linux and the terminal and love to stay on my keyboard.

    Neovim + nohup + tmux is just super productive! Also starship.rs/ and ZSH makes the terminal so much nicer to work in.

    • Shrijal Acharya
      Shrijal AcharyaFeb 10, 2025

      Thank you, @kwnaidoo ✌️.

      Yeah, starting with a distro can be a good option and is recommended by most of the fellows in the community as well.

      Neovim + tmux is pure gold 🤍

      Feels silly that I didn't know about nohup. Thanks for sharing this. Starship is super awesome, but recently I’ve started opting for the RobbyRussell prompt instead, as its Git features really felt like they were slowing down the prompt load for some reason. 🤷‍♂️

  • Nareadwsad
    NareadwsadFeb 10, 2025

    I’ve been using this site for several months, and I’m really impressed by the seamless experience it offers. Joo Casino has a fantastic selection of games, and I especially love the live casino options. The site is easy to navigate, and I’ve never experienced any technical issues. For Australian players, it’s important to find a secure and reliable platform, and this one ticks all the boxes. Whether you're playing on desktop or mobile, the performance is excellent, and the payouts are quick.

  • Shrijal Acharya
    Shrijal AcharyaFeb 10, 2025

    If you're interested, you can view my dotfiles here.
    github.com/shricodev/dotfiles

  • Yogor Vinece
    Yogor VineceFeb 10, 2025

    Neovim all the way!

  • jesterly
    jesterlyFeb 10, 2025

    Although I do agree Vim is highly efficient, this isn't exactly true either:

    Once you get the hang of VIM motions, you start to realize how much time you’ve been wasting with your mouse or arrow keys.

    From my own observations as a Vi user since 1994 and someone who has sat next to hardcore Vim & Emacs coders since 2000, veteran VS Coders rarely touch the mouse, and I hate to admit this but they are just as productive as Vim coders, if not more so with the help of Copilot. By far, the #1 prerequisite to being a 10x dev is your proficiency at the language you're coding in (and of course your IQ), not the tool you're using :-).

    • Shrijal Acharya
      Shrijal AcharyaFeb 11, 2025

      For sure, being super efficient in anything will take you far, and it doesn’t have to be Vim. That said, for most folks, plain VS Code might not be the best option, and some may not even know that something like VIM exists to give it a shot at least. But at the end of the day, it’s all about what works best for you.

      By far, the #1 prerequisite to being a 10x dev is your proficiency at the language you're coding in (and of course your IQ), not the tool you're using :-)

      I completely agree with this. Goes without saying.

  • Dmytro Halichenko
    Dmytro HalichenkoFeb 10, 2025

    Vim motions are also great for notes taking. I even build extension (LSP) for this github.com/iwe-org/iwe

    • Shrijal Acharya
      Shrijal AcharyaFeb 11, 2025

      Good one @gimalay, ✌️ I'll take a look at your plugin. Note-taking is definitely superior in Neovim. For now, I'm using Obsidian, but I plan to start editing Markdown in Neovim soon.

  • HB_the_Pencil
    HB_the_PencilFeb 11, 2025

    After reading this, I might have to try Vim sometime... I'm mostly a Python dev, though, so not sure how much more efficient this would be than PyCharm.

    • Shrijal Acharya
      Shrijal AcharyaFeb 11, 2025

      Give it a shot! I'm not familiar with PyCharm, but you should get decent experience using Python in Neovim if the LSP and everything are set up properly.

  • Debajyati Dey
    Debajyati DeyFeb 11, 2025

    So for you it started with typecraft. In my case, it all began with Elliott Means (Dreamsofcode).

    Man, ngl that aesthetically pleasing Neovim rice made me get out of my comfort zone from vscode to trying something new, exciting, FANTASTIC!

    Learning vim has rewarded me in many different ways. The most important one was actually being able to get what I want by digging into the Documentation rather than being stuck in the never ending vicious loop hell of prompting ChatGPT while GPT is giving really awful results.

    I won't say "I don't use AI anymore". That would be an unbelievable lie.
    But, what I mean is that - when solutions don't already exist, you get nothing valuable from Stackoverflow or AI Chats, then only way out is to READ docs. Learning Vim, Vimscript, and configuring Neovim has made me capable and get used to understand and get what I need from the Docs when building some project(which used to be very difficult for me at some point of time, I could never stands libraries without watching a tutorial from YT or prompting CHAT-GPT), without getting intimidated or scared.

    Well, I would like to know where did you get the name 'vim' for the very first time. Was it typecraft or something else?

    • Shrijal Acharya
      Shrijal AcharyaFeb 12, 2025

      I had heard about it a few years back and mistakenly stepped into VIM once when trying to edit a configuration file. Like many others, I didn’t know how to close VIM, so I had to Google something as simple as closing an editor. It felt horrible, and I didn’t look back at it for at least a few years.

      But then I got to know what VIM really is through Typecraft, and this long journey of setting things up introduced me to folks like ThePrimeagen and TJ along the way.

      I use something similar to Copilot, but it’s called Codeium. I don’t use it very often, but autocomplete really helps sometimes.

      VIM really introduced me to stuffs similar as you said, so it has definitely helped me in so many ways.

  • Αλέξης «Oblivianos» Σταυριανός
    Αλέξης «Oblivianos» ΣταυριανόςFeb 11, 2025

    so what about debugging? VS code makes i a breeze to debug a nodejs program. can you do it in vim with the same ease/tools the vscode debugger provides? I have tried a bit of REPL to debug in terminal but it felt alien and clunky

    • Shrijal Acharya
      Shrijal AcharyaFeb 12, 2025

      For this, there is nvim-dap. It might not be very visually appealing or intuitive, but it gets the job done.

  • C K
    C KFeb 11, 2025

    🎶You may check out anytime you like, but you can never leave.🎶

    I can never figure out how to exit vim and get stuck there forever!!

    • Shrijal Acharya
      Shrijal AcharyaFeb 12, 2025

      You may check out anytime you like, but you can never leave.

      This should actually be their slogan. Somehow, everyone gets stuck there first and forever.

  • William Martinez
    William MartinezFeb 12, 2025

    Vim only for no ui-developer… run SwiftUI, Kotlin JetpackCompose…

    • Shrijal Acharya
      Shrijal AcharyaFeb 12, 2025

      I'm not very familiar with these, though. For most of the devs, it shouldn't really be any issue.

  • nitin
    nitinFeb 12, 2025

    Image description

  • Ganesh Prasad
    Ganesh PrasadFeb 12, 2025

    I have been a long time vim user (started using it in 2012) and really efficient at it. Currently my vim configuration does almost everything that vscode does.

    And I don't think it makes me a better developer as such. 2 years ago I started using vscode and intellij idea because most of my colleagues used these, and I found that a modern IDE does boost productivity. I still use the IDEs with vim mode, because "muscle memory", and do most of my build / test / deploy stuff from the terminal -- but modern IDEs generally offer more convenience than vim.

    Also, majority of the things that actually make me a more productive developer are not related to any editor. Here are some of the things that helped me boost productivity:

    1.I got a lot of scripts to do a lot of stuff, especially the boring stuff.

    1. I also got a lot of aliases (most from oh-my-zsh, some I configured myself), if I have to run the same command multiple times, I configure an alias for it.

    2. Touch typing, I learnt the proper typing technique a bit late (~2020), but that was a good investment of my time.

    3. Most importantly, I rarely use fuzzy search. In almost all of the projects I work with, irrespective of complexity and size, I take my time to understand the structure of the code I'm working with. I use grep a lot (and usually with regex). Plus I have my own set of scripts to actually parse large volumes code and answer more complex queries about the codebase.

    • Shrijal Acharya
      Shrijal AcharyaFeb 12, 2025

      Yeah, I understand you, it’s a matter of preference. For me, actually doing all the stuff in the terminal really feels like home. Making the switch from Vim to the terminal is just one key press away.

      For me, though, everything that a GUI IDE does which I need is ported to my Vim workflow. I don't see any features that I miss in Vim which are available in other IDEs, and I plan to stay native to one thing. Things I use the most, I like to keep minimal and easy to switch, and so is my Vim configuration. The main killer feature for me is that there’s nothing that requires me to start using the mouse in the middle of coding. Switching between multiple projects is just a few keypress, with tmux + nvim workflow with ThePrimeagen tmux-sessionizer script.

      All of this is what is stopping me to use any other IDEs, at least for now.

      IDEs with plugins help, but not much. Still, there are a lot of things where you need to use a mouse. If you feel like customizing all that stuff adding a keybind, you’re better off with something that doesn’t require it. As @ddebajyati has mentioned in the comment here, the incomplete "half VIM" might instead hinder mastering it or overall your productivity.

      Touch typing, I learnt the proper typing technique a bit late (~2020), but that was a good investment of my time.

      I must say, this is somewhat the same case for me. I did learn touch typing a bit late, and I feel Vim complements it, as you have to continuously type characters other than a-z, and all that really helps. Just a few days ago, I hit 98 wpm with symbols.

  • Dhanush
    DhanushFeb 12, 2025

    Good to see a post on NEO VIM after a long time. 👍

  • Yoel Pinhas
    Yoel Pinhas Feb 12, 2025

    Good article, really enjoyed reading it.
    I honestly envy you.

    I'm old—I started writing code in the '90s. In the early 2000s, I was an early adopter of Eclipse. It blew my mind how a GUI could help me write code better. I have ADHD and dyslexia, so achieving fluency in projects with hundreds of classes always felt like a real challenge—until I started using IDEs.

    Back when I started, Vim and Emacs were the only real options. I customized them to suit my needs, but I never reached full satisfaction. Around 2009, I transitioned from software development to design verification and had to go back to using Vim and Emacs. This was after six years of watching IDEs evolve rapidly. It was a nightmare. I felt like an idiot—trivial tasks took me forever because I couldn’t feel in control. I couldn’t remember the massive class hierarchy, the instantiation chain, or even where certain functions were and what their signatures looked like. My dyslexia and ADHD became serious obstacles, and I even started doubting my abilities as a developer.

    So, I toyed with the idea of writing an Eclipse plugin for Specman. Luckily, a new product with the same goal was being developed, and I reached out to the developers, who gladly gave me a tester license. It turned out great for everyone—developers in DV quickly grew fond of it, and my company ended up purchasing multiple licenses. Most importantly, I regained confidence as a developer.

    You see, tools are personal. As a minimalist, I really like Vim—I wish I could use it. But for me, it’s more of a distraction. This post is just a reminder for you younger devs: there’s no silver bullet, no one-size-fits-all solution. For some, Vim is great. But if it doesn’t work for you, you are not the problem.

  • alptekin I.
    alptekin I.Feb 13, 2025

    Not writing to oppose, in fact I really like the idea (and neovim) but I could not go thru the process of learning Lua (could not spend time as I had to learn much other things). Maybe later, I will try once more. Currently I am using vsCode with vim motions, zen mode, trying to be quite minimalist, using the same theme when I was using neovim, and think that it is (like) neovim, until I need to install an extension (and not trying to be much greedy here) :) and use the git commands (I sometimes write git commands on terminal but I use vs code’s interface too)… good luck.

    • Shrijal Acharya
      Shrijal AcharyaFeb 14, 2025

      Learning Lua was a small challenge when trying to shift, but it was only required to the extent needed to set up a plugin configuration. So, it didn’t take long. Some people I admire, like Anthony GG, follow vscode-vim approach, mostly using VS Code but knowing enough Vim to switch between VS Code and Neovim as needed.

      So yeah, if there’s no friction in your workflow, and you can build things faster in VS Code than in Neovim, I don’t see any problem. You can definitely give it a shot in the future. For now, try improving your Vim surface level commands muscle memory in the VS Code.

  • Orlando Marciales
    Orlando MarcialesFeb 14, 2025

    IMHO, this reads up more like a CEO/CTO cheap excuse on "How we can save costs?, Yes let's write up an article on how to use VIM (which it's free), but with a free extension (too)"

    CEO/CTO: OK, now give me my BONUS for saving money to corporate...

    XD...

  • decaf Dev
    decaf DevMar 9, 2025

    I think this is a great article. The only push back I have is on efficiency. Efficiency is highly overrated in my opinion. There are better mindsets to spend time contemplating as a developer or engineer. A few would be security, maintainability, and sustainability (carbon footprint). Sure, using a tool like Vim can help with these, and that is one of the reasons I think it is a valuable tool 😁.

    • Shrijal Acharya
      Shrijal AcharyaMar 10, 2025

      Yeah, VIM is just so valuable for so many things, you know, especially once you get the hang of it.

Add comment