如何在.vimrc中设置两个autocmd BufWritePre

时间:2012-09-21 17:19:56

标签: vim vi autocmd

在VIM中保存/写入时我想修剪尾随空格并确保文件的行结尾是UNIX而不是DOS。

这两个命令都可以自行运行,但我无法弄清楚如何让它们在VIM中写入/保存文件时运行。

autocmd BufWritePre,FileWritePre * :%s/\s\+$//e
autocmd BufWritePre,FileWritePre * :%s/\r$//

我已经尝试了以下所有内容,但VIM仍会抛出错误:

autocmd BufWritePre,FileWritePre * :%s/\s\+$//e|:%s/\r$//

OR

autocmd BufWritePre,FileWritePre * %s/\s\+$//e|%s/\r$//

augroup prewrites
    autocmd!
    autocmd BufWritePre,FileWritePre * :%s/\s\+$//e
    autocmd BufWritePre,FileWritePre * :%s/\r$//                                                                                             
augroup END 

这些都不会产生所需的结果而VI不会引发错误。有什么帮助吗?

1 个答案:

答案 0 :(得分:4)

我终于明白了。罪魁祸首并没有以e结束第二次搜索。请参阅下面的结果:

augroup prewrites
   autocmd!
    autocmd BufWritePre,FileWritePre * :%s/\s\+$//e | %s/\r$//e
augroup END