Late-to-the-party guide to Vim and Tmux

Late-to-the-party guide to Vim and Tmux

In my first job we used Emacs as our main text editor. However, I have no idea how to use it properly so I just used it more like Notepad++ than Emacs. In our team there is one person who refused to use Emacs, instead he was using vi (without the m!). To be honest, it looked painful watching him edit code with no syntax highlighting, no line numbers, and no plugins whatsoever. We tried constantly to convince him to use Emacs but he always refused and stuck to using vi. I thought the guy was crazy.

Fast forward 12 years in my career. I was attending a Ruby conference with my peers and one of the speakers (Brad Urani) demonstrated zshell, vim, and tmux and how he does development in his machine. It looked cool! Some of my peers also uses vim and tmux so its not a new concept to me, however I always decided to use gedit all these years. This time, they probably thought I was crazy.

After the conference I finally decided to jump to the other sideI will no longer use any text editor or IDE for programming and will force myself to use vim exclusively. I also decided to use tmux instead of relying on the guake terminal for more awesomeness.

After two months, am I very pleased with the results: I now have my development environment set up using zshell, vim, and tmux and all the tools that I used to have before have been configured to work on vim. As I feel like I am years (maybe decades) late to the party, here is a simple guide I wrote to help people like me who want to dive head-first into vim and tmux.

ZShell

This step is not really required to use Vim and Tmux, but it is recommended due to several improvements and plugins that you can use to improve your development environment.

In this guide, I will be using Ubuntu (or other Debian based systems) so I can be lazy and just install it using the package manager:

sudo apt-get install zsh

You can also check the version of the zshell installed to make sure its compatible with the plugins you want to use later on:

zsh --version

Once zshell has been installed, we will want to make it our default shell (instead of let’s say bash). This will make your system use zshell when you invoke the terminal or the command line.

chsh -s $(which zsh)

When you load zshell for the first time, it needs to be configured first and it will prompt you on how to do the initial configuration:

This is the Z Shell configuration function for new users, zsh-newuser-install. You are seeing this message because you have no zsh startup files (the files .zshenv, .zprofile, .zshrc, .zlogin in the directory ~). This function can help you with a few settings that should make your use of the shell easier. You can: (q) Quit and do nothing. The function will be run again next time. (0) Exit, creating the file ~/.zshrc containing just a comment. That will prevent this function being run again. (1) Continue to the main menu. (2) Populate your ~/.zshrc with the configuration recommended by the system administrator and exit (you will need to edit the file by hand, if so desired). --- Type one of the keys in parentheses --- 2 read more

Investing is like Planting a Tree

Investing is like Planting a Tree

Investing can be daunting especially for people beginning to learn how to manage their money. One way to make it easier to understand the concepts and avoid doing things that can hurt financially is to think that investing is like planting a tree.

You don’t eat it while it is a sapling

All plants and trees start out as a seed and then a sapling. Even the largest trees in existence today started out as small saplings many years ago. This is also true with wealth: all of the wealth today started out as a small investment decades or centuries ago. read more

Mr. Productivity

Mr. Productivity

I pride myself on being conscious about my time (or at least I like to think I am). I set up a daily routine in the morning when I read my devotionals, do my personal projects, and write something in this blog. I have written posts about time management like “Consistency Beats Intensity” and “How to gain extra time“. I listen to podcasts and audiobooks daily, and give my best to my work every day. I might even like to call myself Mr. Productivity.

I don’t like it when something happens in the day that ruins my routine. Some days there is something that needs to be done, or something unexpected that needs to be fixed and cleaned and it disrupts my schedule. I am also uncomfortable when I feel like I am not doing anything useful, like just lying down to rest or sitting somewhere to talk. read more

Live in Day-tight Compartments

Live in Day-tight Compartments

After reading Dale Carnegie’s book How to stop worrying and start living, one concept stuck with me in the end: learning how to live in day-tight compartments. This is one of the main concepts discussed in the book that enables us to reduce worrying. However I think this can be used in a wider scope than just a remedy to worry.

Dale Carnegie is also the author of one of my most recommended books, How to win friends and influence people. So when I found out that he also wrote a book about worrying and anxiety, I knew that I am going to learn a lot. The concept of living in day-tight compartments was actually discussed in the very first chapter, but this idea was the most influential for me. If you feel like you do not have the time to read the whole book (which is just an excuse), give the first chapter a chance and you will not be disappointed. read more

Protect Your Online Accounts

Protect Your Online Accounts

Data breaches are a common occurrence nowadays, with larger and larger personal data being exposed to the public and the hands of malicious organizations. Big companies such as Yahoo, LinkedIn, and Equifax are not immune to these data breaches and resulted in exposing millions of customer accounts. In the Philippines we also experience these data breaches, recently in COL Financial (online stock brokerage) and in Jobstreet (job board). Therefore it is important for you to protect your online accounts to minimize the damage caused by these data breaches. read more