summaryrefslogtreecommitdiff
path: root/plugins/colemak
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/colemak')
-rw-r--r--plugins/colemak/README.md48
1 files changed, 48 insertions, 0 deletions
diff --git a/plugins/colemak/README.md b/plugins/colemak/README.md
new file mode 100644
index 000000000..4da4bc126
--- /dev/null
+++ b/plugins/colemak/README.md
@@ -0,0 +1,48 @@
+# Colemak plugin
+
+This plugin remaps keys in `zsh`'s [`vi`-style navigation mode](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Keymaps)
+for a [Colemak](https://colemak.com/) keyboard layout, to match the QWERTY position:
+
+![Colemak layout on a US keyboard](https://colemak.com/wiki/images/6/6c/Colemak2.png)
+
+To use it, add it to the plugins array in your `~/.zshrc` file:
+
+```
+plugins=(... colemak)
+```
+
+You will also need to enable `vi` mode, so add another line to `~/.zshrc`:
+```
+bindkey -v
+```
+
+Restart your shell and hit the `<ESC>` key to activate `vicmd` (navigation) mode,
+and start navigating `zsh` with your new keybindings!
+
+## Key bindings for vicmd
+
+| Old | New | Binding | Description |
+|------------|------------|---------------------------|----------------------------------------------------|
+| `CTRL`+`j` | `CTRL`+`n` | accept-line | Insert new line |
+| `j` | `n` | down-line-or-history | Move one line down or command history forwards |
+| `k` | `e` | up-line-or-history | Move one line up or command history backwards |
+| `l` | `i` | vi-forward-char | Move one character to the right |
+| `n` | `k` | vi-repeat-search | Repeat command search forwards |
+| `N` | `K` | vi-rev-repeat-search | Repeat command search backwards |
+| `i` | `u` | vi-insert | Enter insert mode |
+| `I` | `U` | vi-insert-bol | Move to first non-blank char and enter insert mode |
+| `<none>` | `l` | vi-undo-change | Undo change |
+| `J` | `N` | vi-join | Join the current line with the next one |
+| `e` | `j` | vi-forward-word-end | Move to the end of the next word |
+| `E` | `J` | vi-forward-blank-word-end | Move to end of the current or next word |
+
+## Key bindings for less
+
+| Keyboard shortcut | `less` key binding |
+|-------------------|--------------------|
+| `n` | forw-line |
+| `e` | back-line |
+| `k` | repeat-search |
+| `ESC`+`k` | repeat-search-all |
+| `K` | reverse-search |
+| `ESC`+`K` | reverse-search-all |