Oh My Zsh is a framework for managing your zsh (Z Shell) configuration. A shell is simply a program that takes input from user and gives it to the Operating System to perform a specific task. By default, when you install Ubuntu or any other popular linux distribution, you get "bash" (or Bourne Again SHell) as the default shell. When people talk about terminal commands, they actually mean bash commands. There are many other shells like ksh,csh; and one of them is zsh. It supports most of the frequently used commands of bash, and then some. It is more powerful than bash in many ways. So if you want to try zsh, oh-my-zsh is the way to go!
Some of the things that I liked about it are:
=>It comes with a LOT of themes by default. So, you can set a specific theme for your terminal or set it to a random one everytime a new window is opened. The look and feel of zsh is neat and cooler than bash.

=>Many of the themes support git by default. It shows whether the files are staged for commit, or if all changes are committed etc. This is a plus point if you are working on a project that uses git. Many of the open source communities like Django too use git as their Version Control System ;)

=>Though I don't write many scripts, but most of the commands that I used in bash, worked in zsh too.
=>One of the best thing about zsh is its history browsing. In bash, if you type some text and press Up arrow key, it will show all the history logs. But with zsh, it will show only those history entries that begin with the typed word. For instance, lets say we type cd and press Up arrow key. So zsh will show only those entries in history that have the command cd in the beginning.
=>Another great feature in zsh is its spelling correction. It is much better than bash.
=>A cool thing that I just came to know about is the auto change directory feature. Say I wanted to go to a directory named vidLec that is present in the directory ~/Programs/Django. I can do it in zsh by typing:
cd **/vidLec

=>Tab completion in zsh is like a drop down: it is removed from the terminal when it is not required anymore. But in bash, it stays on the screen and can be annoying (it was to me, atleast).


There are many more features and plugins in oh my zsh. If you want to give it a try, check out the oh-my-zsh website here.
No comments:
Post a Comment