Worth the learning curve
November 12, 2019
Worth the learning curve
Score 9 out of 10
Overall Satisfaction with Vim
Many developers at my company use Vim as their main text editor. Besides the individual benefits of working alone with Vim, the fact that many of us are familiar with it enables workflows where we have shared development machines running a consistent Tmux/Vim setup that developers can collaborate on for pair programming by SSH'ing in, even if one or both developers is working remotely. This would not be practical using a graphical text editor.
- The efficient modal editing makes it very fast to write/edit code as I think of it.
- The customization and wide range of plugins let me do very specific things and automate parts of my workflow.
- The fact that it runs inside a terminal simplifies my window management and just becomes another Tmux window in my workflow.
- While the benefits of having a terminal UI mostly outweigh the downsides, it would be nice to have mouse hover and drop-down features like in VSCode. Projects like Neovim and CoC help with this, but there's a long way to go.
- Since it is so customizable, the user needs to maintain his or her development setup over time and make sure all the plugins work well together. This can be more challenging if many plugins and customizations are used.
- Once you learn Vim well, any text entry field that doesn't use Vim keybindings will feel broken.
- Anecdotally, it has increased developer efficiency. This is hard to quantify but I know that I would personally write software slower in any other text editor.
- Since it's a free and open-source tool, the only investment is developer time in learning it.
- Workflows like remote pairing are much easier with terminal-based editors, which can decrease friction when collaborating.
I spent some time learning emacs at one point and found it to have a much larger surface area of required knowledge before being productive. They are similar in that the interface is somewhat "hidden" behind keybindings and commands, but Vim's modal model makes more sense to me and was easier to get started with.
Since it's a free and open-source program, there is no company behind it and thus no "customer support". But there is a large community of Vim users and it is never hard to find the solution to problems encountered while configuring it or adding support for specific workflows.
Do you think Vim delivers good value for the price?
Are you happy with Vim's feature set?
Did Vim live up to sales and marketing promises?
Did implementation of Vim go as expected?
Would you buy Vim again?
It has a steep learning curve, but the increase in productivity is well worth it in my opinion. If you work with a fairly consistent set of languages and frameworks, the investment in setting up a quality environment will pay off over time. But if you jump around to many different projects with varying technologies, a more "plug and play" editor may be a better fit.