Как игнорировать autocmd в истории отмен vim?


6

У меня есть следующая автокоманда, которая в основном удаляет пробелы в конце каждой строки. К сожалению, при каждом сохранении он вставляет шаг в отмену, чтобы перейти к началу файла, что довольно раздражает. Есть ли способ заставить vim игнорировать прыжки в следующей команде, чтобы отмена удерживала курсор в позиции?

autocmd BufWritePre *
    \ let s:bufwritepre_currline = line('.') |
    \ let s:bufwritepre_currcol = col('.')   |
    \ silent %s/\s*$//                       |
    \ call cursor(s:bufwritepre_currline, s:bufwritepre_currcol)

1
Не имеет отношения к вопросу, но для восстановления позиции курсора, winsaveview()/ winrestview(), вероятно, предпочтительнее, чем line()/ col()/ cursor()решение, приведенное в вашем примере.
Серен Левборг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.