我的.vimrc中有以下行。

autocmd BufWritePre * silent! v/\_s*\S/d

保存时,这会在文件末尾删除空行。问题是,当它删除行时,也会将光标移动到文件的最后一行。无论如何,有没有避免修改光标位置的方法?

最佳答案

function! <SID>DelEmptyLinesEnd()
    let l = line(".")
    let c = col(".")
    v/\_s*\S/d
    call cursor(l, c)
endfunction

autocmd BufWritePre * :call <SID>DelEmptyLinesEnd()

10-08 03:40