Zsh IMproved FrameWork ======================
What is Zim? ------------ Zim is a Zsh configuration framework with [blazing speed][speed] and modular extensions. Zim is very easy to customize, and comes with a rich set of modules and features without compromising on speed or functionality! What does Zim offer? ----------------- If you're here, it means you want to see the cool shit Zim can do. Check out the [available modules][modules]! Below is a brief showcase of Zim's features. ### Speed For a speed comparison between Zim and other frameworks, see [this wiki entry][speed]. ### Themes To preview some of the available themes, check the [themes wiki page][themes]. ### Fish-shell history navigation ![history-substring-search][fish_shell] ### Syntax highlighting ![syntax-highlighting][syntax_highlighting] ### And much more! Zim has many modules! Enable as many or as few as you'd like. Installation ------------ Installing Zim is easy. If you have a different shell framework installed (like oh-my-zsh or prezto), *uninstall those first to prevent conflicts*. It can be installed manually by following the instructions below: 1. Start a Zsh shell: zsh 2. Clone the repository: git clone --recursive https://github.com/zimfw/zimfw.git ${ZDOTDIR:-${HOME}}/.zim 3. Paste this into your terminal to prepend the initialization templates to your configs: for template_file in ${ZDOTDIR:-${HOME}}/.zim/templates/*; do user_file="${ZDOTDIR:-${HOME}}/.${template_file:t}" cat ${template_file} ${user_file}(.N) > ${user_file}.tmp && mv ${user_file}{.tmp,} done 4. Set Zsh as the default shell: chsh -s =zsh 5. Open a new terminal and install the enabled modules. zimfw install 6. Finish optimization (this is only needed once, hereafter it will happen upon desktop/tty login): zimfw login-init 7. You're done! Enjoy your Zsh IMproved! Take some time to read about the [available modules][modules] and tweak your `.zshrc` file. Settings -------- ### Enabled modules Use the following zstyle to select the modules you would like enabled: zstyle ':zim' modules 'first-module' 'second-module' 'third-module' You can provide as many module names as you want. Modules are sourced in the order given. By default, a module is installed from the Zim repository with the same name. For example, the `git` module is installed from https://github.com/zimfw/git if no additional module configuration is provided. ### Module customization To configure a module, use the following format (where the style name is the module name): zstyle ':zim:module'