DEV Community

Cover image for Summarized feature-rich plugin manager for Zsh
Sall for Digital Clouds

Posted on • Edited on

Summarized feature-rich plugin manager for Zsh

Logo

ZIis a fast and feature-rich plugin manager for Zsh - Unix shell.

Fast user experience

Stay flexible

  1. Run programs and scripts without adding anything to $PATH,
  2. Install and run Ruby Gems, Node, and Python modules from within a local directory with $GEM_HOME, $NODE_PATH, and $VIRTUALENV automatically set,
  3. Run programs, scripts, and functions with automatic cd into the plugin or snippet directory, plus also with automatic standard output & standard error redirecting.
  4. Source scripts through an automatically created function with the above $GEM_HOME, $NODE_PATH, $VIRTUALENV, and cd features available,
  5. Create the so-called shims known from rbenv – the same feature as the first item of this enumeration – of running a program without adding anything to $PATH with all of the above features, however through an automatic script created in $ZPFX/bin, not a function (the first item uses a function-based mechanism),
  6. Automatic updates of Ruby gems and Node modules during regular plugin and snippet updates with zi update ….
  7. Install almost everything from GitHub, and other Git providers.
  • Detailed information on how it works and how to achieve it is found in the wiki

Use what you want - not only what you can.

  • Supports loading Oh My Zsh and Prezto plugins and libraries, however, the implementation isn't framework-specific and doesn't bloat the plugin manager with such code, it allows to use of any framework. See our wiki on how to migrate from other plugin managers.

Boost performance with integrated tools

  • The dedicated packages offload the user from providing long and complex commands. See the Z-Shell ZI organization for a complete list of packages.

  • The specialized extensions — so-called annexes — expand with new commands, URL per-processors (used by e.g.: z-a-readurl annex), post-install and post-update hooks, and much more.

Keep it clean and consistent

  • The system does not use $FPATH, loading multiple plugins doesn't clutter $FPATH with the same number of entries (e.g. 10, 15, or more). Code is immune to KSH_ARRAYS and other options typically causing compatibility problems.

Focus on What Matters

  1. aliases
  2. functions
  3. bindkeys
  4. zle widgets
  5. zstyles
  6. completions management
  7. PATH, and FPATH elements.
  • Allows to quickly familiarize oneself with a new plugin and provides rich and easy-to-digest information that might be helpful on various occasions.

  • Supports the unloading of plugins and the ability to list, (un)install, and selectively disable, enable plugin's completions.

Documentation

ZI Wiki pages are often improved and updated. Easily find the topic you are looking for with the wiki search

New to Zsh or just need support?

Simply start a discussion and we will help. There is no such thing as a bad question - just ask :)


asciicast

Join the open-source

Friendly for new contributors!

It's a good place to start with or just to show off your skills as we have almost 100 repositories that require different types of developers with different types of experience.

GitHub Org: z-shell

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay