A clean, modern, and productivity-focused ZSH configuration optimized for daily development. It features fast fuzzy navigation, rich file previews, and an enhanced interactive experience.
Follow these steps as outlined in the configuration:
mkdir -p "$HOME/.zsh"
You can clone the prompt directly from the source:
git clone https://github.com/sindresorhus/pure.git "$HOME/.zsh/pure"
Note on Backups: This repository includes a
.zsh.tar.gzfile. This serves as a backup of the required components (including the Pure prompt) in case the original repositories become unavailable. You can extract it usingtar -xzf .zsh.tar.gz -C ~/.
Copy the .zshrc file to your home directory:
cp .zshrc ~/
Set ZSH as your default shell by running:
chsh -s /bin/zsh
The following tools are required for the full experience:
- Pure: A minimalist, fast ZSH prompt.
- zsh-syntax-highlighting: Provides fish-shell-like syntax highlighting.
- zsh-autosuggestions: Suggests commands based on your history.
- fzf: Command-line fuzzy finder.
- zoxide: A smarter
cdreplacement. - eza: A modern replacement for
ls. - bat: A
catclone with syntax highlighting. - fd: A fast alternative to
find. - jq: Lightweight JSON processor.
- bind (dig): Used for DNS lookups in SSH previews.
- wl-clipboard / xclip: Clipboard support for Wayland or X11.
Arch Linux (using yay):
yay -S zsh zsh-syntax-highlighting zsh-autosuggestions zoxide bat fzf fd eza jq bind-tools wl-clipboard ttf-jetbrains-mono-nerd
Debian / Ubuntu:
sudo apt install zsh zsh-syntax-highlighting zsh-autosuggestions zoxide bat fzf fd-find eza jq dnsutils wl-clipboard
-
File/Dir Previews: Uses
batfor files andezafor directories during searches. -
Ctrl + T: Search for files and insert the path into the command line. -
Alt + C: Search for a directory andcdinto it. -
Custom Previews:
cd: Previews directory trees.ssh: Previews host info viadig.export/unset: Previews environment variables.
- Zoxide: Enhanced
cdthat learns your habits. Ctrl + Space: Accept the current auto-suggestion.Ctrl + Left/Right: Move the cursor word by word.Ctrl + Backspace: Delete a whole word.Ctrl + X, e: Open the current command line in Neovim for advanced editing.
Ctrl + X, g, c: Insertsgit commit -m ""and places the cursor inside the quotes.Ctrl + X, g, p: Insertsgit push origin.Ctrl + X, g, s: Runsgit status.Ctrl + X, g, l: Displays the last 10 one-line log entries.
- Archive Extraction: Use
ex <file>to automatically extract any archive format (zip,tar.gz,7z,rar, etc.). - JSON Viewer: Use
jsonview <file>(or simply open a.jsonfile) to view formatted JSON viajqandbat. - Suffix Aliases: Files like
.md,.py,.rs, or.jscan be "executed" to open them directly inbator your$EDITOR.