Crafting a Robust .zshrc for Developer Productivity
The .zshrc
file is the configuration file for Zsh.
Most Macs use Zsh these days, and it can be confirmed with the terminal and typing:
echo $SHELL
Which on my machine returns the path /bin/zsh
— I’m using Zsh so I’m good to go!
This guide explores the essentials of a well-crafted .zshrc
, how it works with other configuration files and how it can be used for an efficient workflow.
Terminology
Interactive Shell: this is a shell session where users type commands directly and receive immediate feedback, typically in a terminal. It supports features like prompts, command history, and tab completion, making it suitable for manual interactions.
Non-interactive shell: this is a shell session that runs commands automatically without requiring user input, typically used for executing scripts or automated tasks. It does not display a prompt and usually bypasses interactive features like command history or user-specific startup files. An example of this is a cron job.
What is .zshrc?
.zshrc
is the configuration file loaded every time a new interactive Zsh shell session starts. It is only ready by interactive shells and can change prompt settings…