/vimtipsdaily

a simple bot to tweet out one VIm learning task a day, at the same time, to get users to practice specific VIm commands until they become habit.

Primary LanguageJavaScript

VimTipsDaily

TL;DR

Vim Tips Daily posts a small task each day to be practiced in VIm. Most can be done in a minute or two. The tasks repeat over time, so that through repitition, they become a part of your personal VIm toolset.

It's Repetitive

I want to be clear about that. The idea of @vimtipsdaily is not to give you a new or unique tip each day. It is repitious by design to help you practice and remember each tip over time.

The Long Story

This is a personal project I created as I was reading Practical VIm by Drew Neil. As I was reading, there were a mountain of new things I wanted to incorporate into my daily VIm usage, but I realized that I'd probably forget most of them. I did not want to forget about these tips once I was done reading the book, so I wanted to make sure I practiced them until they became goto tools for me. I wanted to automate a solution that would ensure that I practiced until I put each of the tips I was interested in into my own muscle memory. I also wanted to learn at a sustainable pace. Something I could keep up indefinitely.

To achieve my goals, I wanted an automated solution that prompted me to practice on a regular basis, but had a low enough time commitment that I wouldn't burn out and quit. What I ultimately settled on was to pratice one random tip per day, that ideally could be done in about a minute.

Being a daily user of todo.txt, and also ifttt.com, I decided to create a solution that would generate a daily task into my task list. I decided to use twitter as the vector to get the task into my list. It meant that the tips could potentially be useful to someone other than myself.

Another important factor about this project is that I actually finished it and shipped it. I have to give credit to my friend @thejustinself, who once told me "The reason you have so many unfinished side projects is because you make them too big. You should make something small enough that you can finish it in a few days or a week." With that advice in mind, I deliberately kept the scope of @vimtipsdaily small.

The rest was pretty easy. I was trying to increase my experience with Javascript and Node at the time, so I grabbed the npm packaages I needed to interact with twitter, created an array of tips and was able to get the first iteration of the project out within days.

As of Nov 2019, Vim Tips Daily is a little over 2 years old, It's run every day with very little downtime, and has collected over 250 followers.

Contributions

Please feel free to create issues or submit PRs with tips that you would like to add into the rotation.