This repository was archived by the owner on Nov 6, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
List of implemented & planned commands
Kai Anter edited this page Apr 9, 2021
·
1 revision
| Command | Description | Status |
|---|---|---|
| Movement | ||
| h | move cursor left | ✅ |
| j | move cursor down | ✅ |
| k | move cursor up | ✅ |
| l | move cursor right | ✅ |
| H | move to top of screen | ✅ |
| M | move to middle of screen | ✅ |
| L | move to bottom of screen | ✅ |
| w | jump forwards to the start of a word | ✅ |
| W | jump forwards to the start of a word (words can contain punctuation) | ✅ |
| e | jump forwards to the end of a word | ✅ |
| E | jump forwards to the end of a word (words can contain punctuation) | ✅ |
| b | jump backwards to the start of a word | ✅ |
| B | jump backwards to the start of a word (words can contain punctuation) | ✅ |
| 0 | jump to the start of the line | ✅ |
| ^ | jump to the first non-blank character of the line | planned |
| $ | jump to the end of the line | ✅ |
| g_ | jump to the last non-blank character of the line | planned |
| gg | go to the first line of the document | ✅ |
| G | go to the last line of the document | ✅ |
| 5G | go to line 5 | ✅ |
| fx | jump to next occurrence of character x | planned |
| tx | jump to before next occurrence of character x | planned |
| } | jump to next paragraph (or function/block, when editing code) | planned |
| { | jump to previous paragraph (or function/block, when editing code) | planned |
| % | find closing block | planned (maybe for begin/end too) |
| Ctrl + b | move back one full screen | conflicting |
| Ctrl + f | move forward one full screen | conflicting |
| Ctrl + d | move forward 1/2 a screen | conflicting |
| Ctrl + u | move back 1/2 a screen | conflicting |
| Searching | ||
| * | search forward word at cursor | ✅ |
| n | move cursor forward after search | ✅ |
| N | move cursor backwards after search | ✅ |
| Inserting | ||
| i | insert before the cursor | ✅ |
| I | insert at the beginning of the line | ✅ |
| a | insert (append) after the cursor | ✅ |
| A | insert (append) at the end of the line | ✅ |
| o | append (open) a new line below the current line | ✅ |
| O | append (open) a new line above the current line | ✅ |
| Esc | exit insert mode | ✅ |
| Editing | ||
| r | replace a single character | planned |
| J | join line below to the current one | ✅ |
| cc | change (replace) entire line | ✅ |
| cw | change (replace) to the end of the word | ✅ |
| c$ | change (replace) to the end of the lin e | ✅ |
| s | delete character and substitute text | ✅ |
| S | delete line and substitute text (same as cc) | ✅ |
| xp | transpose two letters (delete and paste) | ✅ |
| u | undo | ✅ |
| Ctrl + r | redo | conflicting |
| > | Indent | ✅ |
| < | Unindent | ✅ |
| ~ | Switch case | planned |
| gu | Changed case to lowercase | planned |
| gU | Change case to uppercase | planned |
| . | repeat last command | needs testing |
| Copy/Cut/Paste | ||
| yy | yank (copy) a line | ✅ |
| Y | yank (copy) a line | ✅ |
| 2yy | yank (copy) 2 lines | ✅ |
| yw | yank (copy) the characters of the word from the cursor position to the start of the next word | ✅ |
| Y$ | yank (copy) to end of line | ✅ |
| P | put (paste) the clipboard after cursor | ✅ |
| P | put (paste) before cursor | ✅ |
| dd | delete (cut) a line | ✅ |
| 2dd | delete (cut) 2 lines | ✅ |
| Dw | delete (cut) the characters of the word from the cursor position to the start of the next word | ✅ |
| D | delete (cut) to the end of the line | ✅ |
| d$ | delete (cut) to the end of the line | ✅ |
| x | delete (cut) character left of the cursor | ✅ |
| X | delete (cut) character left of the cursor | ✅ |
| Visual Mode | ||
| v | start visual mode, mark lines, then do a command (like y-yank) | maybe |
| V | start linewise visual mode | maybe |
| Ctrl + v | start visual block mode | maybe |
conflicting means that the shortcut conflicts with some Delphi builtin command, still didn't think of a solution, maybe override when on normal mode.