1
0
mirror of https://github.com/onkelbeh/cheatsheets.git synced 2025-06-15 14:47:53 +02:00
cheatsheets/vim-easyalign.md
2015-11-24 15:48:01 +11:00

2.1 KiB

title html_class hljs_languages category
Vim Easyalign key-codes
vim
Vim

Command mode

Align by delimiters

:EasyAlign :       " preset characters (\=:.,&#|)
:EasyAlign |
:EasyAlign \       " \ means space

Align by regexp

:EasyAlign /[:;]+/

Specify which

:EasyAlign |       " align by 1st `|`
:EasyAlign 3 |     " align by 3rd `|`
:EasyAlign * |     " align by all `|`s

Add options

:EasyAlign * | l4r1

  l4     " lN - left_margin
  r1     " rN - right_margin
         "    spaces to the left/right of `|`
  ar     " a[lrc] - align
         "    align left/right/center
  dr     " d[lrc] - delimiter_align
         "    alignment of the delimeter itself

Spaces are optional

:EasyAlign * /[;:]+/ l3
:EasyAlign*/[;:]+/l3

Examples

:EasyAlign = dr (delimiter_align right)

apple    = 1
banana  += apple
cake   ||= banana

:EasyAlign : (for json or yaml)

url:      jdbc:mysql://localhost/test
database: test

:EasyAlign *| (markdown tables)

| `<Enter>` | right align                  |
| `1`       | on 1st occurence             |
| `2`       | on 2nd occurence (and so on) |

Interactive mode

| {Visual} | activate for selection | | ga {motion} | activate for motion/text object | {:.greycode}

Then press options (if available), then a delimiter.

Interactive mode options

| | Set alignment | | <ctrl-l> 4 ⏎ | Set left_margin (to the left of the delimeter) | | <ctrl-r> 4 ⏎ | Set right_margin | | | no margin | {:.greycode}

Example

  • gaip <ctrl-l> 8⏎ = - puts 8 spaces before the equal sign

Also see