The other answers here are great, especially @nelstrom's comment for Tabular.vim and his excellent screencast.
But if I were feeling too lazy to install any Vim plugins, yet somehow willing to use Vim macros, I'd use macros.
The algorithm:
For each line,
Add tons of spaces before the symbol =
Go to the column you want to align to
Delete all text up to =, thereby shifting the = into the spot you want.
For your example,
foo = rhs.foo;
foobar = rhs.foobar;
bar = rhs.bar;
toto = rhs.toto;
Position the cursor anywhere on the first line and record the macro for that line by typing, in normal mode:
qa0f=100i <Esc>8|dwjq
Which translates to:
qa
-- Record a macro in hotkey a
0
-- Go to the beginning of the line
f=
-- Go to the first equals sign
100i <Esc>
-- (There's a single space after the i
, and the <Esc>
means press escape, don't type "<Esc>".) Insert 100 spaces
8|
-- Go to the 8th column (sorry, you'll have to manually figure out which column to align to)
dw
-- Delete until the next non-space character
j
-- Go to the next line
q
-- Stop recording.
Then run the macro stored at hotkey a
, 3 times (for the 3 remaining lines), by putting the cursor on the second line and pressing:
3@a
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…