Aligning code, in general, does not provide any value. It's just to make code look more beautiful and easier to read.
It's similar to better align if you've used vscode.
You can install using your favorite plugin manager.
Using vim-plug
Plug 'junegunn/vim-easy-align'
.vimrc
filexmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)
Feel free to change the default mapping
ga
to something you're more comfortable with.nmap
and xmap
, they're used to add mappings for normal and visual mode respectively.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.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 rightga:
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)
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