我编写了一个函数来删除文件中多余的空白:
let g:trim_whitespace = 1
function! TrimWhitespace()
if g:trim_whitespace
normal :%s/\s\+$//e
endif
endfunction
问题是光标位置设置[1, 1]
在替换命令之后。我根本不希望光标移动,所以我尝试保存光标位置并在替换命令后将其重置:
let a:cursor_pos = getpos(".")
normal :%s/\s\+$//e
exec cursor(a:cursor_pos[1], a:cursor_pos[2])
但仍然发生完全相同的事情,好像调用cursor
没有效果一样。有任何想法吗?