Vim and Tmux Workflow

Since 2013, I have been using Vim as my primary text editor for programming. I didn’t choose to use Vim because I enjoyed having to Google how to save and close my editor each time I used it.
In 2013, I worked as a tutor and technician at Miami Dade College. This meant that I had to be constantly moving between rooms, fixing computers, helping students, or assisting professors. But due to the nature of the job, it also meant that I had some down time and was always in front of one or many computers. Therefore, I used that down time to learning new programming languages, as well as setup and maintain my home server.
Due to the fact that I was never seated at a computer for very long, there was the issue where any code I was working on would get lost on the computer as soon as I had to relocate. I could have carried around a USB, and stored/worked from that. But I would too often forget about the plugged in USB and have to double back to retrieve it, or have it taken. Thankfully, since I was also learning to setup a LAMP server on a spare computer I had at home, I simply SSHed unto that and stored my work there.
Unfortunately, there aren’t many simple methods to retrieve an IDE from a webserver. This is where I began to learn Vim, not out of want, but out of necessity. On my website I had a link to download putty, which after downloaded, I would SSH to my server and begin working on what every little project I was working on at the time.

I soon learned about screen and tmux, which completely changed how I was connecting and working on my projects. With Vim and Tmux, my desire for an IDE vanished and I felt like I had everything conveniently at my finger tips, and on the “cloud” (Cloud being the back office of my home). Over the years I have learned and added to my Vim and Tmux workflow by the use of .vimrc and .tmuxrc.
I have setup a Gitlab repo with my scripts as well as deployment scripts. I mostly use this when ever I spin up a VM. The Gitlab repo is linked below if you would like to look through my vim/tmux configurations. Also feel free to message me with any suggestions or configs of your own. A lot of my configuration additions were made due to suggestions from others, or options that others used that I liked.
I’ve grown so accustomed to the Vim key bindings, that I cant use a regular IDE without installing some sort of plugin that enables the Vim movement key bindings. For as rough as Vim’s learning curve was, I think it was definitely worth it. Vim’s key bindings feel super natural compared to how I used to frantically reach for the mouse when I wanted to insert/scroll through code.


I love you. Send me some Microsoft stock when you work there.