Make complex selections and replace text in a buffer via textual commands. Inspired in Vim's line-oriented ex mode.
- Install AAAPackageDev (dependency)
- Install UberSelection
If you're running a full installation, simply doubleclick on the .sublime-package files. If you're running a portable installation, perform an installation by hand.
- Run from Sublime's console with
view.run_command("uber_selection")
- Issue command as explained further below
10,20V/this/
Select lines containing
this
between lines 10 and 20 (inclusive)..,.+20-V/this/
Select lines not containing
this
from the current line to 20 lines down from it.%s/this/that/
Replace
this
withthat
in the whole file.
<SUBLIME COMMAND>[ <ARG>]
<LINE REF>[,<LINE REF>]
<BUFFER COMMAND>[;<BUFFER COMMAND>]*
<LINE REF><BUFFER COMMAND>[;<BUFFER COMMAND>]*
All tokens are explained in the following sections
(Not all commands work.)
w [arg]
Save the active buffer. If you pass an arg to it, the Save As dialog will show up. At the moment, the passed arg is ignored.
wall
Save all opened buffers.
wq
Save the active buffer and exit.
ZZ
Save the active buffer and exit.
ls
Show list of opened views.
e
Show list of files in current directory.
q
Exit.
n
Next view.
N
Previous view.
Select lines or ranges of lines in the active view.
[1-9]+
Designates line by number.
.
Desigates the current line (first cursor in selection).
$
Designates the last line in the view.
%
Designates all lines in the view.
/what/
Looks forwards to find first line matching
what
or returns current line if none found.?what?
Looks backwards to find first line matching
what
or returns current line if none found.
You can also specify offsets with [+-][1-9]+
.
In order to designate a range, use two comma separated line references:
.+5,/end$/-3
Select lines and perform replacements in the view.
V/what/<flags>
Selects all lines containing
what
. Case insensitive by default. Use the flagc
to make a case-sensitive search.-V/what/<flags>
Same as above, but excludes the lines matching
what
.s/what/with/
Replaces all instances of
what
withwith
. Case sensitive. The separator/
can be substituted by any of:! $ % & = / : ;
You can chain commands by separating them with a semicolon (;
):
.+5,/end$/-3V/foo/;-V/bar/;s/foo/BOO!/