Tip 28: Execute a Command on One or More Consecutive Lines
Return to the top: <<Practical Vim>>
Try replacing :print in the following examples with :delete/:join/:substitute/:normal.
:p is short for :print
Use Line Numbers as an Address
Example:
Specify a Range of Lines by Address
-
:{start},{end}: specify a range -
.: the current line -
%: all the lines in the current file
Example:
Specify a Range of Lines by Visual Selection
-
'<: the first line of the visual selection -
'>: the last line of the visual selection
The marks above persist when we leave Visual mode.
Example:
Specify a Range of Lines by Patterns
Example:
Modify an Address Using an Offset
The general form for an offset: :{address}+n
-
If
nis omitted, it defaults to 1. -
{address}can be a line number, a mark, or a pattern.
Example:
| Symbol | Address |
| 1 | First line of the file |
| $ | Last line of the file |
| 0 | Virtual line above first line of the file |
| . | Line where the cursor is placed |
| 'm |
Line containing mark m
|
| '< | Start of visual selection |
| '> | End of visual selection |
| % |
The entire file (shorthand for :1,$)
|