diff options
author | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2019-07-27 17:32:02 -0700 |
---|---|---|
committer | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2019-07-27 17:32:02 -0700 |
commit | 19bc10c03a2f2de8e7f0968a4a59f9289c6be854 (patch) | |
tree | 3de71dab5cbbbec96c8b4616ba4837c916adc7c9 | |
parent | 707e8ab96e00d8110e4c6e0790e984184b6fc2ca (diff) |
Add some fresh vim tips
-rw-r--r-- | vim.md | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -13,6 +13,42 @@ | `'` | `:h 'ro'` | option | | `-` | `:h -r` | Vim argument (starting Vim) | +## Registers + +: is the "last command" register. @: reruns the last command. + +## Marks + +mA - capital letters are global, will jump to file +`a - jumps to line and column of mark, not just line + +## v/V/<c-v> as operators + +Most commands act line-wise (d2j deletes two lines). v makes things +character-wise, <c-v> makes them block-wise. + +## Ranges + + g/regex/command # executes command on each line matching regex + v/regex/command # executes command on each line not matching regex + +## Ex commands + + :norm abc # runs the keys abc on each line in range + :g/abc/norm dt; # deletes until semicolon on each line with "abc" + + :co <location> # copies range to location (can be ., +n, 'a) + :mv <location> # same but moves + +## Visual mode + +gv - selects the previous visual +g<c-a/x> - increment/decrement by 1 more on each selected line + + 0 1 1 + 0 <c-a> -> 1 g<c-a> -> 2 + 0 1 3 + ## Using vim as a hex editor? :%!xxd |