如何在 vim 的撤消历史记录中忽略 autocmd?

Dav*_*ogt 6 vim undo

我有以下自动命令,它基本上去除每行末尾的空格。不幸的是,在每次保存时,它都会在撤消中插入一个步骤以跳转到文件的开头,这很烦人。有没有办法让vim忽略以下命令中的跳跃,以便撤消将光标保持在原位?

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