У меня есть некоторые функции Vim, которые вносят изменения в формат документа. Когда я вызываю эту функцию, в настоящее время я использую что-то вроде следующего для сохранения и восстановления позиции курсора:
func! Foo()
:norm mz
...
:norm `z
endf
Это правильно сохраняет положение курсора, но иногда оно меняет положение окна, так что текущая строка перемещается от верхней части экрана к нижней или наоборот. Есть ли способ сохранить позицию курсора и положение на экране линии?