Tutorial by Examples

The following command executes :command on lines 23 to 56: :23,56command NB: Ranges are inclusive by default.
In the following command the range starts 6 lines above the current line and ends 3 lines below: :-6,+3command
. represents the current line but it can also be omitted entirely. $ represents the last line. % represents the whole buffer, it is a shortcut for 1,$. The two commands below execute :command on every file from the current line to the last line: :.,$command :,$command The command below e...
The command below executes :command on every line from the one containing the f manual mark to the one containing the t manual mark: :'f,'tcommand Automatic marks can be used too: :'<,'>command " covers the visual selection :'{,'}command " covers the current paragraph :'...
The commands below execute :command on every line from the first matching from to the first matching to: :/from/,/to/command " from next 'from' to next 'to' :?from?,/to/command " from previous 'from' to next 'to' :?from?,?to?command " from previous 'from' to previous 'to' ...
Line offsets can be used to adjust the start and end lines: :/foo/-,/bar/+4command " from the line above next 'foo' to 4 lines below next 'bar' See :help search-offset.
It's possible to combine all of the above into expressive ranges: :1267,/foo/-2command :'{,command :'f,$command Be creative and don't forget to read :help cmdline-ranges.

Page 1 of 1