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
thisbetween lines 10 and 20 (inclusive). .,.+20-V/this/- Select lines not containing
thisfrom the current line to 20 lines down from it. %s/this/that/- Replace
thiswiththatin 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
whator returns current line if none found. ?what?- Looks backwards to find first line matching
whator 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 flagcto make a case-sensitive search. -V/what/<flags>- Same as above, but excludes the lines matching
what. s/what/with/- Replaces all instances of
whatwithwith. 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!/