Text objects, folding, and more for Python and other indented languages. CoffeeScript support is already baked in, but mainly as an incomplete proof of concept.
Use your favorite plugin plugin of choice to install
tweekmonster/braceless.vim, then add a line like this to your vimrc file:
autocmd FileType python BracelessEnable +indent
The command arguments are:
||Enable indent handling|
||Enable indentexpr folding, which is depreciated and slow|
||Enable indent guide|
||Enable indent guide, but use
||Enable indent guide and use
The default motion of interest is
P. It can be used for things like
:h braceless Covers the details of this plugin.
Braceless doesn't give you similarly indented blocks as text objects. You get
actual code blocks using
Moving to recognized blocks is done with
]]. In Python,
]m moves to
class blocks, while
]M moves to the end of
Get useful code folding by adding
Unfortunately, this can be a
little slow on large scripts. Folding is now much faster! Read the
boring exciting details in
See what indent level you're operating on with
+highlight. You can also
colorcolumn so the guide can span the height of the window. If you
would like this kind of indent highlighting in other files that don't need
Braceless, take a look at
Somewhat intelligent auto-indent
Ever wished for autoindent that didn't make you fix the indent? Wish no more,
pal. Just add
+indent. It's not perfect, but it's definitely better. There
is even PEP 8 indentation built in, and if you use
delimitMate with the
option enabled, Braceless will disable it temporarily when you're messing with
(The backspace key was never used in the image above)
Built-in support for EasyMotion.
Not just Python!
Braceless can simply recognize indentation.
The above GIF was using:
autocmd FileType haml,yaml,coffee BracelessEnable +indent +fold +highlight
You can extend Braceless to give full support to other indented languages.