4 ms·
Well, I am a vim user, and I deride noone for the tools they want to use. If someone wants to work in a super-modern IDE, great. If someone wants to work in Not
by usrbinbash 5y ago
Well, I am a vim user, and I deride noone for the tools they want to use. If someone wants to work in a super-modern IDE, great. If someone wants to work in Notepad++ great. If someone wants to work in ed and use a lineprinter, great. If someone wants to use EMACS, great. Programming is one of the professions, where the craftman gets to choose the tools, and for me, that is something to celebrate.
So with that being said, why do I use vim in a terminal emulator, instead of a modern IDE? Here are my most important reasons. Bear in mind, these are extremely dependent on my personal taste, modus operandi and thinking.
1. Simplicity helps me focus. vim hits a perfect mark between simplicity and feature-richness. Interfacing it with more complex systems such as LSPs, Linters, etc. is almost trivially easy.
2. I like building own tools and adapting existing tools them as I see fit. vim is pretty much perfect in that regard, not just because of the power of vimscript, but because how easily I can integrate tools I wrote myself into it.
3. It's absolutely trivial to set up: I copy my ~/.vim and that's it.
4. Once I figured out jumps, markpoints and linescripts, it allows me to do absolutely crazy things in codebase navigation
5. It works over ssh
6. It runs instantly and has a negligible performance impact
7. I can seamlessly integrate it into other CLI tools that require an editor, providing my default work environment in every situation.
8. Since version 8, I can actually use it as a terminal multiplexer, which is just crazy good for my workflow...I often have several split tabs to edit/navigate the code and a terminal tab controlling deployment and testing on the remote machines...all in a single terminal emulator window.
So yeah, why do I like vim? Because its flexible, fast and extendable, works everywhere and does exactly what I want.
- foobarian 5y ago> If someone wants to work in ed and use a lineprinter, great. Sure, as long as it's not on my dime! :-) vim et al are great and I know skilled users can get very productive in them, but I would not push it as a default environment for incoming developers. The amount of force-multiplying functionality in the stock install of IntelliJ or VSCode is very good.
- usrbinbash 5y ago> but I would not push it as a default environment for incoming developers. I would not push any default environment on incoming developers unless there is a very good reason to do so (eg. custom graphical lowcode tool that only works with a specialized editor). As I said, one of the beautiful things about programming is that the craftman gets to chose the tools.