# Prezto — Instant Zsh Configuration Framework > Prezto is a configuration framework for Zsh that enriches the shell with sensible defaults, aliases, functions, auto-completion, and prompt themes while keeping startup time fast. ## Install Save in your project root: # Prezto — Instant Zsh Configuration Framework ## Quick Use ```bash # Clone Prezto into ~/.zprezto git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" # Create symlinks for Zsh config files setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done # Set Zsh as your default shell chsh -s /bin/zsh ``` ## Introduction Prezto is a Zsh configuration framework that provides a curated set of modules for aliases, functions, completions, and prompt themes. It was created as a faster, more modular alternative to Oh My Zsh, focusing on startup performance and a clean module architecture. Prezto ships sane defaults out of the box while remaining highly configurable. ## What Prezto Does - Provides 40+ modules for Git, SSH, Docker, Node, Python, and other tools - Offers fast shell startup through lazy loading and minimal default module set - Includes multiple prompt themes with async Git status support - Bundles syntax highlighting, autosuggestions, and history search as opt-in modules - Manages Zsh configuration via a single .zpreztorc file ## Architecture Overview Prezto organizes functionality into self-contained modules under the modules/ directory. Each module has an init.zsh that sources aliases, functions, and completions. The framework loader reads .zpreztorc to determine which modules to activate and in what order. Prompt themes are modules themselves, using Zsh's prompt system for theme switching. ## Self-Hosting & Configuration - All configuration lives in ~/.zpreztorc; no external services needed - Enable modules by adding them to the zstyle pmodule list in .zpreztorc - Set your prompt theme with zstyle ':prezto:module:prompt' theme - Module order matters: place syntax-highlighting and autosuggestions last - Update all modules and submodules with git pull && git submodule update --init --recursive ## Key Features - Fast startup compared to larger Zsh frameworks due to minimal default module set - Modular design where each module can be enabled or disabled independently - Built-in completion module with case-insensitive and partial-word matching - SSH agent module that auto-loads keys on shell startup - Contrib directory structure for adding custom modules without forking ## Comparison with Similar Tools - **Oh My Zsh** — larger plugin ecosystem but heavier startup; Prezto is leaner and faster - **Zinit** — plugin manager with advanced lazy-loading; Prezto is a full framework with curated modules - **Zim** — speed-focused framework; Prezto offers more built-in modules at a slight speed cost - **Antidote** — modern plugin manager using antigen bundles; Prezto bundles modules internally - **Sheldon** — Rust-based plugin manager; Prezto handles both configuration and plugins together ## FAQ **Q: Can I use Oh My Zsh plugins with Prezto?** A: Some are compatible, but Prezto has its own module format. Many popular plugins have Prezto equivalents. **Q: How does Prezto compare to Oh My Zsh in startup speed?** A: Prezto is generally faster because it loads fewer modules by default and uses compiled Zsh files. **Q: How do I update Prezto?** A: Run git pull in ~/.zprezto and then git submodule update --init --recursive to update all submodules. **Q: Does Prezto work on macOS and Linux?** A: Yes. It works on any system with Zsh 5.1 or later installed. ## Sources - https://github.com/sorin-ionescu/prezto - https://github.com/sorin-ionescu/prezto/blob/master/README.md --- Source: https://tokrepo.com/en/workflows/asset-f32c181b Author: AI Open Source