跳转到主要内容

line-range-format

<start> and <end> can take one of these forms:

  • <number>

    If <start> or <end> is a number, it specifies an absolute line number (lines count from 1).

  • /<regex>/

    This form will use the first line matching the given POSIX <regex>. If <start> is a regex, it will search from the end of the previous -L range, if any, otherwise from the start of file. If <start> is ^/<regex>/, it will search from the start of file. If <end> is a regex, it will search starting at the line given by <start>.

  • +<offset> or -<offset>

    This is only valid for <end> and will specify a number of lines before or after the line given by <start>.


If :<funcname> is given in place of <start> and <end>, it is a regular expression that denotes the range from the first funcname line that matches <funcname>, up to the next funcname line. :<funcname> searches from the end of the previous -L range, if any, otherwise from the start of file. ^:<funcname> searches from the start of file. The function names are determined in the same way as git diff works out patch hunk headers (see ’Defining a custom hunk-header’ in linkgit:gitattributes[5]).