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!/