Find file
Fetching contributors…
Cannot retrieve contributors at this time
73 lines (54 sloc) 3.65 KB
____ __ _ _ _ __ ____ ____ ____
( __)( ( \ ( \/ ) / _\ / ___)/ ___)( __)
) _) / / / \/ \/ \\___ \\___ \ ) _)
(____)\_)__) \_)(_/\_/\_/(____/(____/(____)
Edit every file in a quickfix list at the same time.
Introduction *enmasse* *enmasse-introduction*
Takes a |quickfix| list and makes it editable. You can then write each change
back to their respective files using your favourite way of writing files, |:w|
or |ZZ|, for example. Fix multiple linting issues at once or perform a complex
find and replace across your project all within the comfort of Vim.
Usage *enmasse-usage*
All you have to do is populate a quickfix list in some way (using JSHint or Ag,
for example), then execute :EnMasse. This will open a new buffer with each line
corresponding to a line in the quickfix list.
You can then edit each line in any way you want. When done just write this
magical buffer and it will update each line in their corresponding files. Do
not delete or create any new lines, that will not work, EnMasse will prevent
you from writing if it spots a discrepancy because it no longer knows which
lines should go where.
Pressing enter on a line will open the preview window to that line so you can
get the context of what you're about to edit. This mimics the functionality of
the quickfix list.
Autocommands *enmasse-autocommands*
When writing changes to files, EnMasse will batch writes together. That means
that if you have multiple changes for one file, only one write will take place.
With this in mind, EnMasse will fire |FileWritePre| and |FileWritePost| for
each file that is changed.
Quickfix hints *enmasse-quickfix-hints*
As you move your cursor through the lines the matching quickfix entry message
will be echoed at the bottom of the screen. So if you're scrolling through a
buffer created from a JSHint quickfix list, you'll be provided with the
corresponding JSHint message for each line at the bottom of the window.
If there were multiple quickfix entries for a single line (missing semi-colon
and unused variable, for example) then their messages will be merged into one
in the hint. If the message is too long to fit on one line it will be
truncated. It's either that or you have a "press enter to continue" prompt pop
up every time the echo wraps onto the next line. Not cool. So truncation is the
better alternative, even if you lose a bit of information sometimes.
Author *enmasse-author*
Oliver Caldwell <> / @OliverCaldwell
Unlicence *enmasse-unlicence*
This is free and unencumbered software released into the public domain. For
more information, please refer to <> or the "README" of
this project.