我正在尝试创建一个autocmd,当我退出插入模式时,它将替换文件中的所有空格。但是,AFAIK可以使Vim记住模式并删除其中已经存在的内容。

" Add function for remove tailing whitespaces
command! CleanupTrailingSpaces :%s/\s\+$//ge | :nohlsearch
autocmd InsertLeave * :CleanupTrailingSpaces

是否有:s[ubstitute]的标记,使其无法保存模式?

最佳答案

这样的标志将是有用的,但尚不存在。但是,您可以像这样保存和重置寄存器:

" Add function for remove tailing whitespaces
command! CleanupTrailingSpaces let reset = @/ | %s/\s\+$//ge | let @/ = reset | nohlsearch
autocmd InsertLeave * :CleanupTrailingSpaces

09-25 15:36