[vim keymap] handle subdocument line-ranges better

Use the range [firstLine(), lastLine()] instead of hardcoded
[0,lineCount())