-
Set cwd to current directory:
:cd %:p:h -
Set
argsto all the files in cwd:args **/* -
Delete all pattern matches in file
:g/MATCH BEGIN/ .,/MATCH END/d -
Delete pattern match in many files and save all changed Make sure your
:argsare set to the correct files (check this with just:args):argdo g/MATCH BEGIN/ .,/MATCH END/d | update -
Vsplit multiple files at once
vim -O <file1> <file2> <file3> <etc...> -
Find & replace all instances of whole word in file
:% s/\<WORD TO FIND\>/NEW WORD/g
Last active
April 26, 2017 01:36
-
-
Save suzmas/1f9f0ca4beb9d7dcebd859b8b8bbbda1 to your computer and use it in GitHub Desktop.
Vim commands I use / find helpful while learning
Other Stuff
-
Insert after next character / Insert at end of line:
a / A -
Insert at cursor / Insert at beginning of line:
i / I -
Insert at end of word:
ea -
Change / Delete based on character:
ct<char>ordt<char>-> change/delete up to given next character (exclusive of character)
cf<char>ordf<char>-> change/delete from cursor to given next character (inclusive of character)- Sample text: " I'm text - " =>
dt-Deletes all text up to -, whereasdf-deletes all text including -
- Sample text: " I'm text - " =>
-
Change / Delete inner match within current line:
ci<char>ordi<char>-> change/delete inside matched pair (exclusive of character)
ca<char>orda<char>-> change/delete around matched pair (inclusive of character)- Sample text: " [This is some text] " =>
ci[Changes text inside '[ ]', whereasca[changes all text including '[ ]' - These only work for paired characters like ' ', " ", { }, [ ], ( ),
, < > - There's also a really handy one
citordit. This says change/delete inner tags.- Sample:
<h1>Hello Suz!</h1>, will remove "Hello Suz!"
- Sample:
- Sample text: " [This is some text] " =>
-
Repeat last command:
.(just a period) -
Insert line below / Insert line above:
o / O(Use this these a lot)
Different Ways To Save and Quit
ZZ
:wq
:x
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Delete, Cut, Copy, and Paste
Delete / Cut
Delete n characters forward / Delete n characters backward
nx / nXDelete (can be chained with movement keys) / Delete from cursor to end of line
d / Ddw-> deletes next wordDelete then enter insert mode (can be chained with movement keys) / Delete from cursor to end of line then enter insert mode
c / CDelete whole line / Delete whole line and enter insert mode
dd / ccCopy
Copy with movement key
yyw-> copy next wordCopy current line
yyCopy selected text
v (enters visual mode) + (movement keys), thenyto copy selected text; ORny-> where n is number of charactersCopy multiple lines
V (enters visual mode) + (movement keys), thenyto copy selected lines; ORnyy-> where n is number of linesPaste
p / P