diff options
author | NeodarZ <neodarz@neodarz.net> | 2018-02-05 00:00:18 +0100 |
---|---|---|
committer | NeodarZ <neodarz@neodarz.net> | 2018-02-05 00:00:18 +0100 |
commit | ea09916cda589ad935e8eed51e247eda20b13abf (patch) | |
tree | 6c18a66bfcf11fa59e838b9348074f997f234033 /cheat | |
parent | c42cf7f58b2705874ee2746bee2a69000359299e (diff) | |
download | dotfiles_ascii-ea09916cda589ad935e8eed51e247eda20b13abf.tar.xz dotfiles_ascii-ea09916cda589ad935e8eed51e247eda20b13abf.zip |
Add some cheat
Diffstat (limited to 'cheat')
-rw-r--r-- | cheat/.cheat/vim | 72 |
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. |