diff --git a/README.md b/README.md index 1ac8ec2..6b73a2d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,61 @@ -# editor +# Ze ed -Deez +Like deez, but backwards. + +Ze is a terminal [vim](https://www.vim.org/)-like text editor. + +It uses a *treap* data structure to represent file by lines and remembers versions with added *semi-persistence*. ## Dependencies -`ncurses` c knihovna +* `ncurses` c library + +## Build + +Described in the `Makefile` + +## Usage + +`ze ` + +## Modes + +Ze has three modes within which you can edit a file - *normal*, *insert* and *select*. +Those represent what the user is currently doing: +* *insert* mode: Writing text +* *select* mode: Operations on a selection +* *normal* mode: Everything else + +## Default keybinds + +`` - Action + +### Normal mode +* `h`,`j`,`k`,`l` - Vim-like movement +* `g` - Goto a specified line +* `G` - Goto the last line +* `d` - Remove current line +* `x` - Remove character under cursor +* `o` - Insert empty line before the current +* `q` - Quit +* `w` - Save +* `u` - Undo latest editation action +* `f` - Find next appearance a specified string +* `n` - Repeat last find +* `s` - Find-and-replace +* `r` - Repeat last find-and-replace +* `p` - Paste selection +* `i` - Change into insert mode +* `v` - Change into select mode + +### Insert mode +* `` - Change into normal mode +* Anything else is written under the cursor + +### Select mode +* `h`,`j`,`k`,`l` - Vim-like movement +* `g` - Goto a specified line +* `G` - Goto the last line +* `v` - Copy selected text +* `x` - Remove selected text +* `` - Change into normal mode