+++ type = "page" title = "Vim Cheatsheet" +++ This _Vim Cheatsheet_ is compatible with my [`~/.vimrc`](https://git.devroom.io/ariejan/dotfiles/blob/master/vim/.vimrc) _This is an ongoing effort to document motions and commands available from my `~/.vimrc`_ ## Leader Leader is mapped to ,. ## Comments Provided by `tomtom/tcomment_vim`, it allows to easily comment/uncomments code. * gcc Toggles comment for the current line In Visual mode * gc Toggle comments for the current selection ## Surroundings (parentheses, brackets, quotes and more) `tpope/vim-surround` takes care of dealing with parentheses, brackets, quotes, XML tages and more. `"Hello World"` * cs"' → `'Hello World'` * cs'<q> → `Hello World` * cst" → `"Hello World"` * ds" → `Hello World` * ysiw<em> on Hello → `Hello World` * Visually select line, S<p class="important"> → ```text

Hello Worls

``` ## Tabularize Make lists of assignments and such more readable. This feature is _auto enabled_ while typing for Cucumber/Gherkin style example (using `|`). ```cucumber Background: Given I have the following recipes: | name | rating | | Spaghetti | 4 | | Lasgna Bolognese | 5 | ``` You can also manually invoke Tabularize: ```text a = 1 b = 42 test = 512 ``` Visually select, then ,a=: ```text a = 1 b = 42 test = 512 ``` Similarly, using ,a: ```text a: 1, b: 42, test: 512 ``` results in: ```text a: 1, b: 42, test: 512 ```