I'm trying to format some python code with the tabular.vim plugin. It's currently a sqlalchemy declarative class, and looks something like this:
id = db.Column(db.Integer, primary_key=True)
status = db.Column(db.Integer, nullable=False, default=3)
...etc...
I'd like to be able to align only the very first equals sign in the list.
id = db.Column(db.Integer, primary_key=True)
status = db.Column(db.Integer, nullable=False, default=3)
...etc...
Just a regular
: Tabularize /=
seems to match everything, and everything goes crazy.
Thanks very much in advance!
You can use this command:
:Tabularize /^[^=]*\zs=
The pattern only matches the first =
.
You can add these two line to ~/.vim/after/plugin/TabularMaps.vim
AddTabularPattern 1= /^[^=]*\zs=
AddTabularPattern 1== /^[^=]*\zs=/r0c0l0
Next time, simply run:
:Tabularize 1=
If you don't need spaces around =
, run this:
:Tabularize 1==
The suggestions above are good, but in this case they are a little too complicated and require too much typing. How about:
:Tab /=.*/
This works just fine -- match the first equal sign and everything after it, aligned left (default, which works just fine!).
Excellent plugin to do it: vim-easy-align.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With