У меня есть следующая автокоманда, которая в основном удаляет пробелы в конце каждой строки. К сожалению, при каждом сохранении он вставляет шаг в отмену, чтобы перейти к началу файла, что довольно раздражает. Есть ли способ заставить vim игнорировать прыжки в следующей команде, чтобы отмена удерживала курсор в позиции?
autocmd BufWritePre *
\ let s:bufwritepre_currline = line('.') |
\ let s:bufwritepre_currcol = col('.') |
\ silent %s/\s*$// |
\ call cursor(s:bufwritepre_currline, s:bufwritepre_currcol)
winsaveview()
/winrestview()
, вероятно, предпочтительнее, чемline()
/col()
/cursor()
решение, приведенное в вашем примере.