paint-brush
How To Easily Align Your Code in Vimby@WinterCore
8,311 reads
8,311 reads

How To Easily Align Your Code in Vim

by Hasan KharoufMay 14th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Aligning code, in general, does not provide any value. It's just to make code look more beautiful and easier to read.
featured image - How To Easily Align Your Code in Vim
Hasan Kharouf HackerNoon profile picture

Aligning code, in general, does not provide any value. It's just to make code look more beautiful and easier to read.

Meet Vim Easy Align.

It's similar to better align if you've used vscode.

Installation & Configuration

You can install using your favorite plugin manager.
Using vim-plug

Plug 'junegunn/vim-easy-align'


And add the following mappings to your
.vimrc
file

xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)

Feel free to change the default mapping

ga
to something you're more comfortable with.
Note: If you're not familiar with
nmap
and
xmap
, they're used to add mappings for normal and visual mode respectively.

Usage

There are multiple ways to use the plugin. I found the following to be the easiest.

1. Align code in the current block

While in normal mode type

gaip=

Explanation: Start the EasyAlign command (

ga
) for
i
nner
p
aragraph and align around the
=
sign.

Note: don't forget to press enter to execute the command.

2. Align currently selected code

Assuming that you have something selected while in visual mode.
Type

ga=

Explanation: Start the EasyAlign command (

ga
) and align around the
=
sign.

Options

1. Regular expressions

You can use regular expressions to align anything you want. The only limit is your imagination.

Let's say for example you want to align javascript module imports around the

from
keyword.

You would use the command

ga<Ctrl-x>from

And once again

ga
is used to enter the EasyAlign mode.

After that, press

Ctrl-x
(Control + x) to enter the
regular expression
mode.

Lastly you can enter whatever you want to align your code around (in this case it's

from
)

2. Align modes

Normally each character has it's own align mode (left or right).

So, for example,

=
(equal) signs are normally aligned to the right while
:
(colons) are aligned to the left.

But we can change that by using the arrow keys on the keyboard.

Note: I'll be referring to the right & left arrow keys in commands as

->
and
<-
respectively.

Example:

ga->:
Align right

ga:
Align left (we don't have to use
<-
since it's the default for colons)

3. Live Interactive Mode

Live interactive mode allows you to see your changes as you type the command.

To use the live interactive mode you can use the command

:LiveEasyAlign
.

Or you could add the following to your

.vimrc
if you prefer shortcuts.

" Change <iga> to whatever you like
nmap iga <Plug>(LiveEasyAlign)
xmap iga <Plug>(LiveEasyAlign)

Conclusion

Obviously the plugin contains more options than I could explain in 20 pages.

This article is supposed to be beginner friendly and introduce the basic options.

References