
Preamble
Even though today is not the day I started with Vim, I deliberately proclaim 13-Jun-2015 as Vim’s first year with me.
I wanted to learn Vim because it was my desire, and that’s it. I didn’t have any other reason such as when I learnt Netbeans for my thesis’ java application or Visual Studio C++ for my job.
Vim opened various doors to things I didn’t know about.
Things that Vim taught me
There are different text-editing philosophies
Vi/m text-editing model it’s a philosophy to me. It’s a living language, like English or Spanish. But simpler, of course.
As in any other language, you have to invest time learning the grammar, but the return on investment is so high that it makes sense. Even if you decide to not use Vim, you will expand your way of thinking.
Oh! I probably read thousand of times “Your problem with Vim is that you don’t grok vi.”
Hence, more than a philosophy, I treat Vi/m as a language.
The essence of unix tools
One can argue whether or not Vim comply the Unix philosophy. To me the important thing is that Vim was the trigger to learn how 1 + 1 can be 3, to understand the synergy among tools.
Vim was my door to the Unix world. That led me to read the book Unix Power Tools and watching random screencasts from people like Gary Bernhardt.
The importance of regex in text editing
The same way that Vim changed me, regex is another whole world of opportunities when it comes down to text editing.
One book that is a must read for everyone is Mastering Regular Expressions.
However, the first time that I started reading it, it didn’t catch me. I needed some inspiration. What would be better than reading from well known Perl community members? Well, it happened that I found the inspiration from Damian Conway’s fantastic talk Understanding and Using Regular Expressions.
And that led me to finally read the book, which opened another door of possibilities, specially when you start recognizing the features that Vim’s regex engine has to offer.
IDE have their place
Whenever we discuss about Text editors vs IDE we like to find ways to say that “x” can be done either in Vim or in Eclipse, out of the box or through a plugin. But the truth is that to me each have their own place, with their strengths and weaknesses.
I believe many had the experience where you want to make your tool to be able to do everything.
And that’s not a bad thing, but I truly believe we must have options, alternatives that can be handy when we have to save the day.
Thinking it again, it’s not just about IDE, it’s about every tool in your backpack.
That backpack might be big, really big, but it has a limit of things you can carry on. It’s our job to choose those things. Put everything you like or need, throw those that you don’t, but remember that that thing you didn’t like it, might be handy in the future.
It’s all about having options.
The importance of a nice community
To be fair, if it weren’t for the great communities out there like stack overflow, vim mailing list, vimmers that share their knowledge such us Drew Neil, I wouldn’t be able to stick with Vim when I had those moments where I needed some friend to motivate me to continue learning or troubleshooting simple and complex issues.
Got a question? People from Vim subreddit are so damn nice that would help you in a matter of seconds.
Got a thing you want to share with the community? Again, Vim subreddit it’s there, like a family, a true community after all.
And that’s a good thing. Communities are that necessary pillar that any true software must have to stand up through years and years.
Transcendence
Every well known IDE and text editing tool have their way to emulate Vi/m editing language.
Even web browsers like Chrome and Firefox includes an emulation too.
As many others in the community, I have high hopes that Neovim or whatever comes next will make a breakthrough allowing Vim to become a first class citizen as it deserves to be in every piece of software.