Você já tentou atualizar o vim? Eu apenas tentei isso no vim7.3 no Ubuntu e ele funcionou bem, despojou todo o espaço em branco e deixou o cursor no mesmo lugar.
Eu tenho o seguinte autocommand, que basicamente remove espaços em branco no final de cada linha. Infelizmente, a cada salvamento, ele insere um passo no desfazer para ir para o início até o arquivo, o que é bastante irritante. Existe uma maneira de fazer com que o vim ignore o comando a seguir, de modo que o desfazer mantenha o cursor na posição?
autocmd BufWritePre *
\ let s:bufwritepre_currline = line('.') |
\ let s:bufwritepre_currcol = col('.') |
\ silent %s/\s*$// |
\ call cursor(s:bufwritepre_currline, s:bufwritepre_currcol)
Você já tentou atualizar o vim? Eu apenas tentei isso no vim7.3 no Ubuntu e ele funcionou bem, despojou todo o espaço em branco e deixou o cursor no mesmo lugar.