about summary refs log tree commit diff
path: root/docs/README.md
blob: 6139218d587c70a3f200cd133115730f72023448 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Documentation

## ViM Guide


# File Ops

`:w`: save.
`:q`: quit.
`:wq`: save and quit.
`:q!`: quit without saving.


# Pane Management

`:vs`: vertically split the current pane.
`:sp`: horizontally split the current pane.

`ctrl` + `w` + `h`: move left to next pane.
`ctrl` + `w` + `j`: move down to next pane.
`ctrl` + `w` + `k`: move up to next pane.
`ctrl` + `w` + `l`: move right to next pane.


### Insertion & Deletion

`x`: deletes the character beneath the cursor.
`shift` + `x`: acts as a backspace.

`shift` + `i`: insert at the beginning of a line.
`shift` + `a`: insert at the end of a line.

`c`: combines a delete operation with an insert operation.

`d` + `d`: deletes a line.
`c` + `c`: changes a line.

`shift` + `o`: inserts above the current line.
`o`: inserts below the current line.

#### Copy & Paste
`y` + `y`: copies the current line.
`p`: pastes whatever is on the clipboard beneath current line.
`shift` + `p`: pastes whatever is on the clipboard above current line.


### Search

`/`: search forward for a seqeuence.
`?`: search backward for a seqeuence.


### Movement

#### basics

`h`: left-arrow
`j`: down-arrow
`k`: up-arrow
`l`: right-arrow

`w`: moves forward one word.
`b`: moves backward one word.
`e`: moves to the end of a word.


#### zip-around

`*`: finds the next occurrence of the word that is beneath the cursor.
`#`: does the reverse.

`{`: move up a paragraph.
`}`: move down a paragraph.

`%`: jump to matching bracket.

`:<INT>`: jumps to the line number, `<INT>`.


### Visual
`shift` + `v`: enter full-line visual mode.
`v`: enter visual mode.


### Bonus: powerful sequences

`d` + `t` + `<ANY_CHARACTER>`: deletes until the next occurrence of
`<ANY_CHARACTER>`.

`c` + `i` + `<ANY_BRACKET>`: changes the inner content of the nearest
matching bracket.

`j` + `j`: map this key to the <Esc> function