zsh-snap
zsh-bench
zsh-snap | zsh-bench | |
---|---|---|
7 | 24 | |
1,238 | 494 | |
- | - | |
4.7 | 4.1 | |
17 days ago | 6 months ago | |
Shell | Shell | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zsh-snap
-
Oh-my-zsh without oh-my-zsh?
Personally I use https://github.com/marlonrichert/zsh-snap as my plugin manager. You can just reference this baseline template that the author of the plugin manager has made if you want a sample config:
-
Current state of plugin managers
If you want something a bit different and interesting with a focus on cool features like instant-prompt, zcomet and zsh-snap
-
Why does zsh start so slowly?
You can use a plugin manager like https://github.com/marlonrichert/zsh-snap to cache the output of these commands. Using something like the packages version number as the cache key will ensure that it gets regenerated only once per package update as opposed to every shell launch.
-
What is the best plugin manager in your opinion?
Author of Antidote here. I want to start by saying u/MrMarlon did a great job with znap, and it's a solid choice. zcomet and zgenom are also great. For modern Zsh plugin managers that are actively developed, I'd say these are my top 4 picks.
- Good resources to learn zsh?
-
zsh plugin managers ... a review ...
# Download Znap, if it's not there yet. [[ -f ~/Git/zsh-snap/znap.zsh ]] || git clone https://github.com/marlonrichert/zsh-snap.git ~/Git/zsh-snap source ~/Git/zsh-snap/znap.zsh # Start Znap znap prompt sindresorhus/pure # Go to prompt in just 15 to 40 ms! # Finish the rest of your .zshrc in the background. znap source zsh-users/zsh-autosuggestions znap source zsh-users/zsh-syntax-highlighting znap source marlonrichert/zsh-autocomplete # Cache any script you like from the interwebs: znap eval iterm2 'curl -fsSL https://iterm2.com/shell_integration/zsh'
-
How good are Manjaro's default settings for zsh?
If you haven’t actually used Zinit yet, have a look at Znap instead. It’s just as fast, but has a much simpler syntax that is very close to native Zsh.
zsh-bench
-
Oh My Zsh
Someone's made a benchmarking system for zsh: https://github.com/romkatv/zsh-bench#premade-configs
Of course, their config is the best according to the benchmark (and ohmyzsh is the slowest option), but DIY configs are also covered, particularly possible performance optimizations.
-
Faster Shell Startup with Shell Switching
Unfortunately, running exit is not a great strategy for running benchmarks. For zsh specifically, plugin managers are optimized for fast exit.
romkatv did a great write-up and benchmark within the context of zsh[0]. It's a great read.
[0] https://github.com/romkatv/zsh-bench#how-not-to-benchmark
- Dynamic Aliases and Functions in Zsh
- Benchmark for interactive zsh – plugins, frameworks and plugin managers
- zsh-smartcache: another evalcache but can update the cache
-
Announcing Spaceship v4.0 — a customizable Zsh prompt with asynchronous rendering
Given the addition of async rendering in the latest release of spaceship, I wasn't sure whether I should include performance in the list of features found in powerlevel10kbut but not in spaceship. I used zsh-bench to benchmark powerlevel10k on my laptop running on battery (I'm writing this on a train) with a config that makes powerlevel10k looks similar to spaceship. I simply ran p10k configure and chose what looked most similar: Lean Style, UNICODE, 256 colors, two lines, etc. Here are the benchmark results:
-
7x slowdown when modify $fpath and add completion script
Obligatory link since you are engaging in profiling interactive zsh: https://github.com/romkatv/zsh-bench.
-
What is the best plugin manager in your opinion?
1.) It's fast. Like, really fast. 1.) It supports deferred loading via zsh-defer 1.) It supports local plugins as well as ones hosted via a git provider (aka: GitHub, GitLab, BitBucket, etc) 1.) The codebase is simple and easy to understand and contribute to 1.) It supports git branches (with tag/shas on the roadmap) 1.) It supports partial plugin loading such as loading Oh-My-Zsh plugins and Prezto modules without loading the whole framework. 1.) There's an easy migration path from legacy plugin managers like Antigen/Antibody. 1.) Plugins are managed via a simple plugins file that makes it easy to share your config with others. 1.) And lots more
-
Zsh significantly faster when sourced from bash with bash as default shell
In any case, slow zsh startup is always caused by whatever you put in zsh startup files and it's always possible to reduce zsh startup to imperceptible levels without sacrificing any functionality by editing said startup files. There is a bit of info on interactive zsh performance at https://github.com/romkatv/zsh-bench.
-
Zpy is a simple zsh plugin manager written in python that don't add to the shell startup time.what to y'all think?
Why is this a good thing? Is this a proxy for performance? If so, you can measure performance directly with zsh-bench. This way you can describe the advantage in terms that have real value to end users. For example, you can say that the first prompt appears N milliseconds faster when using Zpy than if you were using something-else.
What are some alternatives?
oh-my-zsh - 🙃 A delightful community-driven (with 1700+ contributors) framework for managing your zsh configuration. Includes nearly 300 optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community. [Moved to: https://github.com/ohmyzsh/ohmyzsh]
fisher - A plugin manager for Fish
zinit - Flexible and fast Zsh plugin manager with clean fpath, reports, completion management, Turbo, annexes, services, packages.
zinit - 🌻 Flexible and fast ZSH plugin manager
zgenom - A lightweight and fast plugin manager for ZSH
sheldon - :bowtie: Fast, configurable, shell plugin manager
antigen - The plugin manager for zsh.
powerlevel10k - A Zsh theme
zpm - Zpm— Zsh Plugin Manager
zsh4humans - A turnkey configuration for Zsh
zsh-autocomplete - 🤖 Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion.
oh-my-fish - The Fish Shell Framework