Why I switched from VIM after 6 years

Alireza Bashiri
2 min readApr 17, 2019



It’s killing your deep work

As a VIM master from using others’ plugins to rolling out my own at some point I started to think as a professional that these concerns are much less important to me than shipping features you’re paid to ship features not spend time on your editor to make it look better or finding new ways to do things which don’t make your productive by any indicators.

It’s not suited for a lot of context switching

Let’s consider a Ruby On Rails task

1-Generate an API controller

2–Write/update specs

You did a typo on controller’s class name and the filename should be renamed too what’s the fastest way to fix this in VIM?

1-Find a file and rename it using bash command :!mv % new_filename

You have to either use VIM’s default file search which is tricky for newbies or installing a fuzzy finder plugin fzf ctrlp and so on after you installed the plugin you should execute a command using bash command mv in current vim buffer and after your buffer is not longer exists so you have to close it forcefully :q! or you can find another plugin for just renaming files or you’re an expert and write your own

How about just using another editor or an IDE? You already have the file opened in a tab and you just click rename or something -> done

How about duplicating a file for creating an admin panel section for the same API? Good luck with that :D

It’s just not as good as others

1-Find and replace a word in a whole project? You have to install a plugin like ack.vim and figure out how to work with it easily

2-Find and replace a word in a selection? You have to know how to work with visual selection magic :%V%s/foo/bar/g in VIM language

3-Have a good feature rich syntax support? Probably if someone created it in GitHub otherwise you have to wait or create your own and also you cannot get the same results as other editors even if you use MacVim

4-Creating a new directory/file in the current file path? You should learn how to work with VIM expand variables and run a couple of bash commands

5-Creating a new plugin for VIM? You should learn a weird language that VIM uses in a weird way :)

6-Listing project directory? You should install nerdtree but it’s not even close to what you think compared to VSCode or Atom

I hope you have enjoyed and wait for the next part and I’ll mention a couple of things I miss.



Alireza Bashiri

∞ Travel | Coding | Lifestyle ⦿ Bangkok | ✧ #freelancer ▷ Got a project? ⭣ www.upwork.com/fl/al3rez