aboutsummaryrefslogtreecommitdiff
path: root/cheat/.cheat/vim
diff options
context:
space:
mode:
authorNeodarZ <neodarz@neodarz.net>2018-02-05 00:00:18 +0100
committerNeodarZ <neodarz@neodarz.net>2018-02-05 00:00:18 +0100
commitea09916cda589ad935e8eed51e247eda20b13abf (patch)
tree6c18a66bfcf11fa59e838b9348074f997f234033 /cheat/.cheat/vim
parentc42cf7f58b2705874ee2746bee2a69000359299e (diff)
downloaddotfiles_ascii-ea09916cda589ad935e8eed51e247eda20b13abf.tar.xz
dotfiles_ascii-ea09916cda589ad935e8eed51e247eda20b13abf.zip
Add some cheat
Diffstat (limited to 'cheat/.cheat/vim')
-rw-r--r--cheat/.cheat/vim72
1 files changed, 72 insertions, 0 deletions
diff --git a/cheat/.cheat/vim b/cheat/.cheat/vim
new file mode 100644
index 0000000..2a7ad86
--- /dev/null
+++ b/cheat/.cheat/vim
@@ -0,0 +1,72 @@
+# 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
+
+# Multi line select and edit
+1. Press Esc to enter 'command mode'
+2. Use Ctrl + V to enter visual block mode.
+3. Move Up / Down to select the columns of text in the lines you want to comment.
+4. Then hit Shift + i and type the text you want to insert.
+5. Then hit Esc , wait 1 second and the inserted text will appear on every line.