diff --git a/README.md b/README.md
index 58c52688..d4c9ceed 100644
--- a/README.md
+++ b/README.md
@@ -28,6 +28,10 @@ a daily driver.
Precompiled binaries are available from the [GitHub releases page](https://github.com/alacritty/alacritty/releases).
+## Features
+
+You can find an overview over the features available in Alacritty [here](./docs/features.md).
+
## Further information
- [Announcing Alacritty, a GPU-Accelerated Terminal Emulator](https://jwilm.io/blog/announcing-alacritty/) January 6, 2017
diff --git a/docs/features.md b/docs/features.md
new file mode 100644
index 00000000..7f621ea2
--- /dev/null
+++ b/docs/features.md
@@ -0,0 +1,72 @@
+# Features
+
+This document gives an overview over Alacritty's features beyond its terminal
+emulation capabilities. To get a list with supported control sequences take a
+look at [Alacritty's escape sequence support](./escape_support.md).
+
+## Vi Mode
+
+The vi mode allows moving around Alacritty's viewport and scrollback using the
+keyboard. It also serves as a jump-off point for other features like search and
+opening URLs with the keyboard. By default you can launch it using
+Ctrl Shift Space.
+
+### Motion
+
+The cursor motions are setup by default to mimic vi, however they are fully
+configurable. If you don't like vi's bindings, take a look at the [configuration
+file] to change the various movements.
+
+### Selection
+
+One useful feature of vi mode is the ability to make selections and copy text to
+the clipboard. By default you can start a selection using v and copy
+it using y. All selection modes that are available with the mouse can
+be accessed from vi mode, including the semantic (Alt v),
+line (Shift v) and block selection (Ctrl
+v). You can also toggle between them while the selection is still
+active.
+
+### Opening URLs
+
+While in vi mode you can open URLs using the Enter key. If some text
+is recognized as a URL, it will be underlined once you move the vi cursor above
+it. The program used to open these URLs can be changed in the [configuration
+file].
+
+## Search
+
+Search allows you to find anything in Alacritty's scrollback buffer. You can
+search forward using Ctrl Shift f and
+backward using Ctrl Shift b.
+
+### Vi Search
+
+In vi mode the search is bound to / for forward and ? for
+backward search. This allows you to move around quickly and help with selecting
+content. The `SearchStart` and `SearchEnd` keybinding actions can be bound if
+you're looking for a way to jump to the start or the end of a match.
+
+### Normal Search
+
+During normal search you don't have the opportunity to move around freely, but
+you can still jump between matches using Enter and Shift
+Enter. After leaving search with Escape your active match
+stays selected, allowing you to easily copy it.
+
+## Selection expansion
+
+After making a selection, you can use the right mouse button to expand it.
+Double-clicking will expand the selection semantically, while triple-clicking
+will perform line selection. If you hold Ctrl while expanding the
+selection, it will switch to the block selection mode.
+
+## Opening URLs with the mouse
+
+You can open URLs with your mouse by clicking on them. The modifiers required to
+be held and program which should open the URL can be setup in the configuration
+file. If an application captures your mouse clicks, which is indicated by a
+change in mouse cursor shape, you're required to hold Shift to bypass
+that.
+
+[configuration file]: ../alacritty.yml