Возможно, есть лучший способ, но если ничего другого, вы можете использовать H
и L
, чтобы переместиться туда и ``
, чтобы вернуться и получить.Что-то вроде
norm 'H'
let top=line('.')
norm '``L'
let bottom=line('.')
norm '``'
или вы можете использовать getpos()
для сохранения и setpos()
для восстановления позиции, но я не уверен, что вы можете избежать уничтожения предыдущей позиции (команда :keepmarks
должна сделатьэто, но в документации сказано, что это работает только в каком-то особом случае).