vim -- How to read range of lines from a file into current buffer

vim

Solution

:r! sed -n 147,227p /path/to/foo/foo.c

Problem

I want to read line n1->n2 from file foo.c into the current buffer. I tried: `147,227r /path/to/foo/foo.c` But I get: "E16: Invalid range", though I am certain that foo.c contains more than 1000 lines.

Original source