My terminal setup for higher productivity
Shell Type - I am currently using zsh shell on my system, which comes by default on macOS Catalina. I have been using ohmyz.sh to manage my zsh configuration and I highly recommend the same setup. The number of plugins that come with it makes life so much easier.
To install zsh - github.com/ohmyzsh/ohmyzsh/wiki/Installing-..
To install 'oh my zsh' - github.com/ohmyzsh/ohmyzsh/wiki
My ohmyzsh theme recommendation -
This theme allows so much customization of your terminal experience. As soon as you install, you go through a quick configuration setup, which allows you to change your setup according to your needs.
One of the little things that really help me personally is that I can see my current Kubernetes context and namespace on the right while running kubectl commands. This is really helpful when working with mulitple clusters and namespaces.
ohmyzsh plugins that I use -
Everyone working with Kubernetes eventually ends up making aliases for common kubectl commands. This plugin is basically a list of intuitive short-form aliases. For eg -
kgp - kubectl get pods
kgs - kubectl get svc
they are pretty intuitive and with some time you understand the pattern of aliases and it makes it so much faster to work kubectl
I can't imagine working without this plugin anymore. As the name hints, it gives autocomplete suggestions for commands based on your history
Fuzzy searching everything
fzf fzf allows you to fuzzy search basically everything from directory to history.
The below article explains it way better than I ever could pragmaticpineapple.com/four-useful-fzf-tric..
but the tl:dr is
- it allows you to move through directories really fast
- preview files present basically anywhere on your system
- Search through thousands of commands of history in an instant
To explore more tools checkout - modern-unix