2015-12-15 06:12:17 +01:00
|
|
|
ZIM - Zsh IMproved
|
|
|
|
==================
|
|
|
|
|
2015-12-17 13:44:19 +01:00
|
|
|
<div align="center">
|
2015-12-29 19:44:13 +01:00
|
|
|
<a href="https://github.com/Eriner/zim">
|
2015-12-17 17:04:01 +01:00
|
|
|
<img width=650px src="https://i.eriner.me/zim_banner.png">
|
2015-12-17 13:44:19 +01:00
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
|
2015-12-15 06:12:17 +01:00
|
|
|
What is Zim?
|
|
|
|
------------
|
2015-12-18 19:41:02 +01:00
|
|
|
Zim is a Zsh configuration framework with [blazing speed][speed] and modular extensions.
|
2015-12-17 14:06:26 +01:00
|
|
|
|
2015-12-18 13:40:11 +01: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 06:12:17 +01:00
|
|
|
|
|
|
|
What does Zim offer?
|
|
|
|
-----------------
|
2015-12-18 19:41:02 +01: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-17 00:00:14 +01:00
|
|
|
|
|
|
|
Below is a brief showcase of Zim's features.
|
2015-12-15 06:12:17 +01:00
|
|
|
|
2015-12-18 19:41:02 +01:00
|
|
|
### Speed
|
|
|
|
For a speed comparison between Zim and other frameworks, see [this wiki entry][speed].
|
2015-12-18 19:34:24 +01:00
|
|
|
|
2015-12-18 19:41:02 +01:00
|
|
|
### Themes
|
2015-12-18 17:44:57 +01:00
|
|
|
|
2015-12-18 19:46:16 +01:00
|
|
|
To preview some of the available themes, check the [themes wiki page][themes].
|
2015-12-18 17:44:57 +01:00
|
|
|
|
2015-12-18 19:41:02 +01:00
|
|
|
### Fish-shell History Navigation
|
2015-12-15 06:43:33 +01:00
|
|
|
![history-substring-search][fish_shell]
|
2015-12-15 06:12:17 +01:00
|
|
|
|
2015-12-18 19:41:02 +01:00
|
|
|
### Syntax Highlighting
|
2015-12-15 06:43:33 +01:00
|
|
|
![syntax-highlighting][syntax_highlighting]
|
2015-12-15 06:12:17 +01:00
|
|
|
|
2015-12-18 19:41:02 +01:00
|
|
|
### And much more!
|
2015-12-15 06:12:17 +01: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 20:10:31 +02:00
|
|
|
*uninstall those first to prevent conflicts*. It can be installed manually by following the instructions below:
|
2015-12-15 06:12:17 +01:00
|
|
|
|
2015-12-19 22:53:09 +01:00
|
|
|
1. In a Zsh shell, clone the repository:
|
2015-12-15 06:12:17 +01:00
|
|
|
```
|
2015-12-19 15:48:29 +01:00
|
|
|
git clone --recursive https://github.com/Eriner/zim.git ${ZDOTDIR:-${HOME}}/.zim
|
2015-12-15 06:12:17 +01:00
|
|
|
```
|
|
|
|
|
2015-12-29 16:22:27 +01:00
|
|
|
2. Paste this into your terminal to prepend the initialization templates to your configs:
|
2015-12-15 06:12:17 +01:00
|
|
|
```
|
|
|
|
setopt EXTENDED_GLOB
|
2015-12-19 15:48:29 +01:00
|
|
|
for template_file ( ${ZDOTDIR:-${HOME}}/.zim/templates/* ); do
|
2015-12-29 17:34:38 +01:00
|
|
|
user_file="${ZDOTDIR:-${HOME}}/.${template_file:t}"
|
2016-02-11 09:08:40 +01:00
|
|
|
touch ${user_file}
|
2016-05-14 23:28:15 +02:00
|
|
|
( print -rn "$(<${template_file})$(<${user_file})" >! ${user_file} ) 2>/dev/null
|
2015-12-15 06:12:17 +01:00
|
|
|
done
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Set Zsh as the default shell:
|
|
|
|
```
|
2016-02-01 00:08:00 +01:00
|
|
|
chsh -s =zsh
|
2015-12-15 06:12:17 +01:00
|
|
|
```
|
|
|
|
|
2015-12-18 19:41:02 +01: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 15:48:29 +01:00
|
|
|
source ${ZDOTDIR:-${HOME}}/.zlogin
|
2015-12-18 19:41:02 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
5. You're done! Enjoy your Zsh IMproved! Take some time to read about the [available modules][modules] and tweak your `.zshrc` file.
|
2015-12-15 06:43:33 +01:00
|
|
|
|
2016-09-06 00:36:44 +02:00
|
|
|
Updating
|
|
|
|
--------
|
|
|
|
|
|
|
|
To update zim, run:
|
|
|
|
|
|
|
|
```
|
|
|
|
zmanage update
|
|
|
|
```
|
|
|
|
|
|
|
|
For more information about the `zmanage` tool, see the [meta module][meta-module] documentation.
|
|
|
|
|
|
|
|
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 17:04:01 +01:00
|
|
|
[fish_shell]: https://i.eriner.me/zim_history-substring-search.gif
|
|
|
|
[syntax_highlighting]: https://i.eriner.me/zim_syntax-highlighting.gif
|
2015-12-18 19:41:02 +01:00
|
|
|
[speed]: https://github.com/Eriner/zim/wiki/Speed
|
|
|
|
[modules]: https://github.com/Eriner/zim/wiki/Modules
|
|
|
|
[themes]: https://github.com/Eriner/zim/wiki/Themes
|
2016-09-06 00:36:44 +02:00
|
|
|
[meta-module]: https://github.com/Eriner/zim/tree/master/modules/meta
|