mirror of
https://github.com/Erreur32/cheat.git
synced 2024-11-16 00:48:36 +01:00
65 lines
2 KiB
Text
65 lines
2 KiB
Text
# File management
|
|
|
|
:e reload file
|
|
:q quit
|
|
:q! quit without saving changes
|
|
:w write file
|
|
:w {file} write new file
|
|
:x write file and exit
|
|
|
|
# Movement
|
|
|
|
k
|
|
h l basic motion
|
|
j
|
|
|
|
w next start of word
|
|
W next start of whitespace-delimited word
|
|
e next end of word
|
|
E next end of whitespace-delimited word
|
|
b previous start of word
|
|
B previous start of whitespace-delimited word
|
|
0 start of line
|
|
$ end of line
|
|
gg go to first line in file
|
|
G go to end of file
|
|
gk move down one displayed line
|
|
gj move up one displayed line
|
|
|
|
# Insertion
|
|
# To exit from insert mode use Esc or Ctrl-C
|
|
# Enter insertion mode and:
|
|
|
|
a append after the cursor
|
|
A append at the end of the line
|
|
i insert before the cursor
|
|
I insert at the beginning of the line
|
|
o create a new line under the cursor
|
|
O create a new line above the cursor
|
|
R enter insert mode but replace instead of inserting chars
|
|
:r {file} insert from file
|
|
|
|
# Editing
|
|
|
|
u undo
|
|
yy yank (copy) a line
|
|
y{motion} yank text that {motion} moves over
|
|
p paste after cursor
|
|
P paste before cursor
|
|
<Del> or x delete a character
|
|
dd delete a line
|
|
d{motion} delete text that {motion} moves over
|
|
|
|
# Search and replace with the `:substitute` (aka `:s`) command
|
|
|
|
:s/foo/bar/ replace the first match of 'foo' with 'bar' on the current line only
|
|
:s/foo/bar/g replace all matches (`g` flag) of 'foo' with 'bar' on the current line only
|
|
:%s/foo/bar/g replace all matches of 'foo' with 'bar' in the entire file (`:%s`)
|
|
:%s/foo/bar/gc ask to manually confirm (`c` flag) each replacement
|
|
|
|
# Preceding a motion or edition with a number repeats it 'n' times
|
|
# Examples:
|
|
50k moves 50 lines up
|
|
2dw deletes 2 words
|
|
5yy copies 5 lines
|
|
42G go to line 42
|