diff --git a/README.md b/README.md
index d6287ac..3e42805 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,3 @@
-
-
@@ -14,33 +8,30 @@
+
+
What is Zim?
------------
Zim is a Zsh configuration framework with [blazing speed] and modular extensions.
-Zim bundles useful [modules], a wide variety of [themes], and plenty of
-customizability without compromising on speed.
+Zim bundles a plugin manager, useful [modules], and a wide variety of [themes],
+without compromising on speed.
-What does Zim offer?
---------------------
-Below is a brief showcase of Zim's features.
+See how it compares to other frameworks and plugin managers:
-### Speed
-For more details, see [this wiki entry][blazing speed].
-
## Table of Contents
-- [Features](#features)
- + [Modules](#modules)
- + [Themes](#themes)
- + [Degit](#degit)
- [Installation](#installation)
- + [Automatic installation](#automatic-installation)
+ [Manual installation](#manual-installation)
+ + [Automatic installation](#automatic-installation)
- [Usage](#usage)
+ [Example Configuration](#example-configuration)
- [Settings](#settings)
@@ -53,28 +44,86 @@ For more details, see [this wiki entry][blazing speed].
+ [How to disabel automatic updates?](#how-to-disabel-automatic-updates)
+ [When should I call `compinit` in my `zshrc` ?](#when-should-i-call-compinit-in-my-zshrc)
-Features
---------
-
-### Modules
-
-Zim has many [modules available][modules]. Enable as many or as few as you'd like.
-
-### Themes
-
-To preview some of the available themes, check the [themes page][themes].
-
-### Degit
-
-Install modules without requiring `git` using our degit tool. It's faster and
-lighter than `git`. See the [zmodule](#zmodule-usage) usage below.
-
Installation
------------
-Installing Zim is easy. You can choose either of the two methods below:
+Installing Zim is easy. You can choose either the manual or automatic method
+below:
+
+### Manual installation
+
+1. Set Zsh as the default shell, if you haven't done so already:
+ ```zsh
+ chsh -s $(which zsh)
+ ````
+
+2. If you don't have `git` installed, first add this line to your `.zshrc` file
+ (yes, Zim works even without `git`!):
+ ```zsh
+ zstyle ':zim:zmodule' use 'degit'
+ ````
+
+3. Add these lines to your `~/.zshrc`:
+ ```zsh
+ ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
+ # Download zimfw plugin manager if missing.
+ if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then
+ curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \
+ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
+ fi
+ # Install missing plugins, and update ${ZIM_HOME}/init.zsh if missing or outdated.
+ if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then
+ source ${ZIM_HOME}/zimfw.zsh init -q
+ fi
+ # Initialize plugins.
+ source ${ZIM_HOME}/init.zsh
+ ```
+ Or if you use `wget` instead of `curl`:
+ ```zsh
+ ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
+ # Download zimfw plugin manager if missing.
+ if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then
+ mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \
+ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
+ fi
+ # Install missing plugins, and update ${ZIM_HOME}/init.zsh if missing or outdated.
+ if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then
+ source ${ZIM_HOME}/zimfw.zsh init -q
+ fi
+ # Initialize plugins.
+ source ${ZIM_HOME}/init.zsh
+ ```
+
+4. Create a `~/.zimrc` file, and add a `zmodule` call for each plugin you want
+ to use. The `~/.zimrc` file is not sourced during the Zsh startup, and it's
+ only used to configure the `zimfw` plugin manager.
+
+ See the `zmodule` usage below.
+
+ For example, you can start with just:
+ ```zsh
+ zmodule zsh-users/zsh-syntax-highlighting
+ zmodule zsh-users/zsh-autosuggestions
+ ```
+ Or if you also want to use completions:
+ ```zsh
+ zmodule zsh-users/zsh-completions
+ zmodule completion
+ zmodule zsh-users/zsh-syntax-highlighting
+ zmodule zsh-users/zsh-autosuggestions
+ ```
+ The `zmodule completion` is a Zim module that calls `compinit` for you. So no
+ need to have `compinit` in your `~/.zshrc` when you use this module.
+
+ Check the available [modules] and [themes] you can add to your `~/.zimrc`.
+
+5. Restart your terminal to automatically download the `zimfw` plugin manager,
+ install the plugins defined in `~/.zimrc`, and initialize them. Enjoy your
+ Zsh IMproved!
### Automatic installation
+This will install a predefined set of modules and a theme.
+
* With curl:
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
@@ -87,24 +136,6 @@ Open a new terminal and you're done. Enjoy your Zsh IMproved! Take some time to
tweak your `~/.zshrc` file, and to also check the available [modules] and [themes]
you can add to your `~/.zimrc`.
-
-Prefer to install manually?
-
-### Manual installation
-
-1. Set Zsh as the default shell:
-
- chsh -s $(which zsh)
-
-2. Prepend the lines in the following templates to the respective dot files:
-
- * [~/.zshrc](https://raw.githubusercontent.com/zimfw/install/master/src/templates/zshrc)
- * [~/.zimrc](https://raw.githubusercontent.com/zimfw/install/master/src/templates/zimrc)
-
-3. Restart your terminal to automatically install the `zimfw` command line utility,
- install the modules defined in `~/.zimrc`, and build the initialization scripts.
-
-
Usage
-----
@@ -231,7 +262,7 @@ By default, `zimfw` will check if it has a new version available every 30 days.
This can be disabled with:
zstyle ':zim' disable-version-check yes
-
+
### 4. When should I call `compinit` in my `zshrc` ?
`compinit` is called by _completions_ module as shown in the [Example configuration](https://github.com/zimfw/zimfw#example-configuration). So, if you are using that module then remove any call to `compinit` in your `.zshrc` like: