The standard tools that come with every Unix-like system are already comprehensive. However, they share a minimalistic approach using colours or non-standard ASCII codes. Fortunately, you can either replace existing tools or extend the functionality by adding new ones. Here are the tools that I added to my environment.
Zoxide is an cd enhancement. It records the directories Zoxide is a change directory (cd) enhancement. It records the directories you’ve visited and lets you directly change into them.
brew install zoxide
The next one, fzf, is a command-line fuzzy finder. It’s useful in conjunction with other tools that generate large outputs.
brew install fzf
Bat is a replacement for cat, it has colour highlighting, can deal with multiple files, add git information and a lot more.
brew install bat
Another replacement is eza. It replaces the standard ls and enhances ls with colour support, mount details and others.
brew install eza
Btop is another top replacement like htop, atop or glances. All of them have their advantages but more importantly, all have more features compared to the standard top. So, my choice for now is btop.
brew install btop
With the tools in place, you have two choices. You can use the replacement names instead of the original command names, or you can alias the normal command names to the replacements. This is what I have done:
### Command replacements ###
alias cat='bat --theme ansi' # Replace cat with bat
alias ls='eza --icons --git' # Replace ls with eza
alias top='btop' # Replace top with btop