Zsh, or Z-Shell is a really good shell Unix/OSX/similar. It gets even better with oh-my-zsh. However, I made it even better with the help of scripts, themes and whatnot. Please note that this is not a How-to tutorial for the inexperienced zsh user; so I expect you, the reader, to know how to modify ~/.zshrc, or where to find it, or how to use aliases - those type of common scripting things. Lets dive in!
Look and Feel
I use the theme agnoster. Setting this up requires some delicate configuration of colors and fonts, so I suggest you to go through the link. But basically, you gotta set this line in zshrc:
In addition, I use the amazing Jetbrains Mono font. However, it still does not look right. Too much space is being wasted.
See that amitseal@Amits-MacBook-Pro? That’s unnecessary, unless you are in a multi-user environment and you want to know both your username and hostname, All.the.time. Which I don’t. Hence make this modification in your ~/.zshrc:
Which results in hiding both username and hostname. Nice!
In addition to this, I also use syntax highlighting in zsh. Here is what you can do:
These are the plugins I use with zsh:
I use A LOT OF aliases. Some of them are based on modifying existing functions with switches. Some of them are my own, personal creations using python/shell scripting.
Git related Aliases
I made several git related aliases just so that I can avoid typing… 5 characters.
Helpful Aliases for Better Commands
Don’t like the output of cat? Too banal? Use pcat. Also, there is grep and vena.
Aliases for Jekyll
Who does not love jekyll? I Love Jekyll! But the commands are long.. and scary. Hence:
These are some python scripts I wrote that helps me avoid common writing issues as well as format LaTeX files.
More Custom Commands!
Script to convert first page of PDF to image. Does not go for highest quality to save size, but you can change density and quality to improve that. For PDFs, I don’t want the image to have transparent background, so I remove it while making it white.