2015-12-15 00:12:17 -05:00
ZIM - Zsh IMproved
==================
2015-12-17 07:44:19 -05:00
< div align = "center" >
2018-01-01 07:58:41 -05:00
< a href = "https://github.com/zimfw/zimfw" >
2015-12-17 11:04:01 -05:00
< img width = 650px src = "https://i.eriner.me/zim_banner.png" >
2015-12-17 07:44:19 -05:00
< / a >
< / div >
2015-12-15 00:12:17 -05:00
What is Zim?
------------
2015-12-18 13:41:02 -05:00
Zim is a Zsh configuration framework with [blazing speed][speed] and modular extensions.
2015-12-17 08:06:26 -05:00
2015-12-18 07:40:11 -05:00
Zim is very easy to customize, and comes with a rich set of modules and features without compromising on speed or functionality!
2015-12-15 00:12:17 -05:00
What does Zim offer?
-----------------
2015-12-18 13:41:02 -05:00
If you're here, it means you want to see the cool shit Zim can do. Check out the [available modules][modules]!
2015-12-16 18:00:14 -05:00
Below is a brief showcase of Zim's features.
2015-12-15 00:12:17 -05:00
2015-12-18 13:41:02 -05:00
### Speed
For a speed comparison between Zim and other frameworks, see [this wiki entry][speed].
2015-12-18 13:34:24 -05:00
2015-12-18 13:41:02 -05:00
### Themes
2015-12-18 11:44:57 -05:00
2015-12-18 13:46:16 -05:00
To preview some of the available themes, check the [themes wiki page][themes].
2015-12-18 11:44:57 -05:00
2015-12-18 13:41:02 -05:00
### Fish-shell History Navigation
2015-12-15 00:43:33 -05:00
![history-substring-search][fish_shell]
2015-12-15 00:12:17 -05:00
2015-12-18 13:41:02 -05:00
### Syntax Highlighting
2015-12-15 00:43:33 -05:00
![syntax-highlighting][syntax_highlighting]
2015-12-15 00:12:17 -05:00
2015-12-18 13:41:02 -05:00
### And much more!
2015-12-15 00:12:17 -05:00
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),
2016-06-12 14:10:31 -04:00
*uninstall those first to prevent conflicts*. It can be installed manually by following the instructions below:
2015-12-15 00:12:17 -05:00
2015-12-19 16:53:09 -05:00
1. In a Zsh shell, clone the repository:
2015-12-15 00:12:17 -05:00
```
2018-01-01 07:58:41 -05:00
git clone --recursive https://github.com/zimfw/zimfw.git ${ZDOTDIR:-${HOME}}/.zim
2015-12-15 00:12:17 -05:00
```
2015-12-29 10:22:27 -05:00
2. Paste this into your terminal to prepend the initialization templates to your configs:
2015-12-15 00:12:17 -05:00
```
setopt EXTENDED_GLOB
2015-12-19 09:48:29 -05:00
for template_file ( ${ZDOTDIR:-${HOME}}/.zim/templates/* ); do
2015-12-29 11:34:38 -05:00
user_file="${ZDOTDIR:-${HOME}}/.${template_file:t}"
2016-02-11 03:08:40 -05:00
touch ${user_file}
2016-05-14 17:28:15 -04:00
( print -rn "$(< ${template_file})$(< ${user_file})" >! ${user_file} ) 2>/dev/null
2015-12-15 00:12:17 -05:00
done
```
3. Set Zsh as the default shell:
```
2016-01-31 18:08:00 -05:00
chsh -s =zsh
2015-12-15 00:12:17 -05:00
```
2015-12-18 13:41:02 -05:00
4. Open a new terminal and finish optimization (this is only needed once, hereafter it will happen upon desktop/tty login):
```
2015-12-19 09:48:29 -05:00
source ${ZDOTDIR:-${HOME}}/.zlogin
2015-12-18 13:41:02 -05:00
```
2018-04-05 18:54:22 -04:00
5. You're done! Enjoy your Zsh IMproved! Take some time to read about the [available modules][modules] and tweak your `.zshrc` file. To set vi mode, set `zinput_mode` in `.zimrc` .
2015-12-15 00:43:33 -05:00
2016-09-05 18:36:44 -04:00
Updating
--------
To update zim, run:
```
zmanage update
```
2018-04-03 09:52:04 -04:00
For more information about the `zmanage` tool, run `zmanage help` .
2016-09-05 18:36:44 -04:00
Uninstalling
------------
The best way to remove zim is to manually delete `~/.zim` , `~/.zimrc` , and
remove the initialization lines from your `~/.zshrc` .
However, there are some **experimental** convenience functions to remove zim:
**NOTE: This functionality is experimental!**
To remove zim, run:
```
zmanage remove
```
**NOTE: This functionality is experimental!**
2015-12-17 11:04:01 -05:00
[fish_shell]: https://i.eriner.me/zim_history-substring-search.gif
[syntax_highlighting]: https://i.eriner.me/zim_syntax-highlighting.gif
2018-01-01 07:58:41 -05:00
[speed]: https://github.com/zimfw/zimfw/wiki/Speed
[modules]: https://github.com/zimfw/zimfw/wiki/Modules
[themes]: https://github.com/zimfw/zimfw/wiki/Themes